diff --git a/docs/docs/analyzer/concepts.md b/docs/docs/analyzer/concepts.mdx similarity index 80% rename from docs/docs/analyzer/concepts.md rename to docs/docs/analyzer/concepts.mdx index 02abad6ac3..3f0d58bb54 100644 --- a/docs/docs/analyzer/concepts.md +++ b/docs/docs/analyzer/concepts.mdx @@ -1,12 +1,23 @@ -# Trace Analyzer Concepts +--- +id: concepts +title: Trace Analyzer Concepts +description: The Tracetest Analyzer analyzes OpenTelemetry traces to help teams improve instrumentation data, find potential problems, and provide tips to fix the problems. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- The Tracetest Analyzer is a plugin-based framework used to analyze OpenTelemetry traces to help teams improve their instrumentation data, find potential problems and provide tips to fix the problems. ## Plugins -- [OpenTelemetry Semantic Conventions](./plugins/otel-semantic-conventions.md) -- [Security](./plugins/security.md) -- [Common Problems](./plugins/common-problems.md) +- [OpenTelemetry Semantic Conventions](./plugins/otel-semantic-conventions) +- [Security](./plugins/security) +- [Common Problems](./plugins/common-problems) ## Problem @@ -40,7 +51,7 @@ There are two main rule types: - Single Trace. Encapsulated to the current trace, no external data is required. :::note -[This documentation will be focused on single trace rules for timing purposes.](../configuration/tracetest-analyzer.md) +[This documentation will be focused on single trace rules for timing purposes.](../configuration/tracetest-analyzer) ::: ### Analyzer Resource diff --git a/docs/docs/analyzer/plugins/common-problems.md b/docs/docs/analyzer/plugins/common-problems.md deleted file mode 100644 index 1e293f0539..0000000000 --- a/docs/docs/analyzer/plugins/common-problems.md +++ /dev/null @@ -1,7 +0,0 @@ -# Common Problems - -The `Common Problems` plugin is responsible of analyzing the spans that are part of a trace in order to identify frequent mistakes in the distributed system. - -## Rules - -- [prefer-dns](../rules/prefer-dns.md) diff --git a/docs/docs/analyzer/plugins/common-problems.mdx b/docs/docs/analyzer/plugins/common-problems.mdx new file mode 100644 index 0000000000..b4d1d0819f --- /dev/null +++ b/docs/docs/analyzer/plugins/common-problems.mdx @@ -0,0 +1,18 @@ +--- +id: common-problems +title: Common Problems +description: The Common Problems plugin analyzes spans part of a trace to identify errors. The Tracetest Analyzer analyzes OpenTelemetry traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +The `Common Problems` plugin is responsible of analyzing the spans that are part of a trace in order to identify frequent mistakes in the distributed system. + +## Rules + +- [prefer-dns](/analyzer/rules/prefer-dns) diff --git a/docs/docs/analyzer/plugins/otel-semantic-conventions.md b/docs/docs/analyzer/plugins/otel-semantic-conventions.md deleted file mode 100644 index a2b34254ef..0000000000 --- a/docs/docs/analyzer/plugins/otel-semantic-conventions.md +++ /dev/null @@ -1,10 +0,0 @@ -# OTel Semantic Conventions - -The `OpenTelemetry Semantic Conventions` plugin analyzes the spans that are part of a trace in order to identify problematic patterns. The set of rules follows the OpenTelemetry conventions to ensure the quality of the telemetry data. - -## Rules - -- [span-naming](../rules/span-naming.md) -- [attribute-naming](../rules/attribute-naming.md) -- [required-attributes](../rules/required-attributes.md) -- [no-empty-attributes](../rules/no-empty-attributes.md) diff --git a/docs/docs/analyzer/plugins/otel-semantic-conventions.mdx b/docs/docs/analyzer/plugins/otel-semantic-conventions.mdx new file mode 100644 index 0000000000..a99629243b --- /dev/null +++ b/docs/docs/analyzer/plugins/otel-semantic-conventions.mdx @@ -0,0 +1,21 @@ +--- +id: otel-semantic-conventions +title: OTel Semantic Conventions +description: The OpenTelemetry Semantic Conventions plugin analyzes spans part of a trace in order to identify problematic patterns. The Tracetest Analyzer analyzes OpenTelemetry traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +The `OpenTelemetry Semantic Conventions` plugin analyzes the spans that are part of a trace in order to identify problematic patterns. The set of rules follows the OpenTelemetry conventions to ensure the quality of the telemetry data. + +## Rules + +- [span-naming](/analyzer/rules/span-naming) +- [attribute-naming](/analyzer/rules/attribute-naming) +- [required-attributes](/analyzer/rules/required-attributes) +- [no-empty-attributes](/analyzer/rules/no-empty-attributes) diff --git a/docs/docs/analyzer/plugins/security.md b/docs/docs/analyzer/plugins/security.md deleted file mode 100644 index bf66fc8bfe..0000000000 --- a/docs/docs/analyzer/plugins/security.md +++ /dev/null @@ -1,8 +0,0 @@ -# Security - -The `Security` plugin is responsible for analyzing the spans that are part of a trace in order to identify security problems in the distributed system. - -## Rules - -- [secure-https-protocol](../rules/secure-https-protocol.md) -- [no-api-key-leak](../rules/no-api-key-leak.md) diff --git a/docs/docs/analyzer/plugins/security.mdx b/docs/docs/analyzer/plugins/security.mdx new file mode 100644 index 0000000000..4397da305f --- /dev/null +++ b/docs/docs/analyzer/plugins/security.mdx @@ -0,0 +1,19 @@ +--- +id: security +title: Security +description: The Security plugin is responsible for analyzing spans part of a trace to identify security problems. The Tracetest Analyzer analyzes OpenTelemetry traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +The `Security` plugin is responsible for analyzing the spans that are part of a trace in order to identify security problems in the distributed system. + +## Rules + +- [secure-https-protocol](/analyzer/rules/secure-https-protocol) +- [no-api-key-leak](/analyzer/rules/no-api-key-leak) diff --git a/docs/docs/analyzer/rules/attribute-naming.md b/docs/docs/analyzer/rules/attribute-naming.md deleted file mode 100644 index ca0187d64f..0000000000 --- a/docs/docs/analyzer/rules/attribute-naming.md +++ /dev/null @@ -1,28 +0,0 @@ -# attribute-naming - -Enforce attribute keys to follow common specifications. - -## Rule Details - -An `Attribute` is a key-value pair, which is encapsulated as part of a span. The attribute key should follow a set of common specifications to be considered valid. - -The following OpenTelemetry Semantic Conventions for attribute keys are defined: - -- It must be a non-null and non-empty string. -- It must be a valid Unicode sequence. -- It should use namespacing to avoid name clashes. Delimit the namespaces using a dot character. For example `service.version` denotes the service version where `service` is the namespace and `version` is an attribute in that namespace. -- Namespaces can be nested. For example `telemetry.sdk` is a namespace inside top-level `telemetry` namespace and `telemetry.sdk.name` is an attribute inside `telemetry.sdk` namespace. -- For each multi-word separate the words by underscores (use snake_case). For example `http.status_code` denotes the status code in the http namespace. -- Names should not coincide with namespaces. For example if `service.instance.id` is an attribute name then it is no longer valid to have an attribute named `service.instance` because `service.instance` is already a namespace. - -## Options - -This rule has the following options: - -- `"error"` requires attribute keys to follow the OTel semantic convention -- `"disabled"` disables the attribute keys verification -- `"warning"` verifies attribute keys to follow the OTel semantic convention but does not impact the analyzer score - -## When Not To Use It - -If you don’t want to enforce OTel attribute keys, don’t enable this rule. diff --git a/docs/docs/analyzer/rules/attribute-naming.mdx b/docs/docs/analyzer/rules/attribute-naming.mdx new file mode 100644 index 0000000000..7b73160026 --- /dev/null +++ b/docs/docs/analyzer/rules/attribute-naming.mdx @@ -0,0 +1,39 @@ +--- +id: attribute-naming +title: attribute-naming +description: Enforce attribute keys to follow common specifications | The Tracetest Analyzer analyzes OpenTelemetry traces +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +Enforce attribute keys to follow common specifications. + +## Rule Details + +An `Attribute` is a key-value pair, which is encapsulated as part of a span. The attribute key should follow a set of common specifications to be considered valid. + +The following OpenTelemetry Semantic Conventions for attribute keys are defined: + +- It must be a non-null and non-empty string. +- It must be a valid Unicode sequence. +- It should use namespacing to avoid name clashes. Delimit the namespaces using a dot character. For example `service.version` denotes the service version where `service` is the namespace and `version` is an attribute in that namespace. +- Namespaces can be nested. For example `telemetry.sdk` is a namespace inside top-level `telemetry` namespace and `telemetry.sdk.name` is an attribute inside `telemetry.sdk` namespace. +- For each multi-word separate the words by underscores (use snake_case). For example `http.status_code` denotes the status code in the http namespace. +- Names should not coincide with namespaces. For example if `service.instance.id` is an attribute name then it is no longer valid to have an attribute named `service.instance` because `service.instance` is already a namespace. + +## Options + +This rule has the following options: + +- `"error"` requires attribute keys to follow the OTel semantic convention +- `"disabled"` disables the attribute keys verification +- `"warning"` verifies attribute keys to follow the OTel semantic convention but does not impact the analyzer score + +## When Not To Use It + +If you don’t want to enforce OTel attribute keys, don't enable this rule. diff --git a/docs/docs/analyzer/rules/no-api-key-leak.md b/docs/docs/analyzer/rules/no-api-key-leak.mdx similarity index 66% rename from docs/docs/analyzer/rules/no-api-key-leak.md rename to docs/docs/analyzer/rules/no-api-key-leak.mdx index 9f702dc0e1..1b75c304e4 100644 --- a/docs/docs/analyzer/rules/no-api-key-leak.md +++ b/docs/docs/analyzer/rules/no-api-key-leak.mdx @@ -1,4 +1,15 @@ -# no-api-key-leak +--- +id: no-api-key-leak +title: no-api-key-leak +description: Disallow leaked API keys for HTTP spans | The Tracetest Analyzer analyzes OpenTelemetry traces +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Disallow leaked API keys for HTTP spans. diff --git a/docs/docs/analyzer/rules/no-empty-attributes.md b/docs/docs/analyzer/rules/no-empty-attributes.mdx similarity index 60% rename from docs/docs/analyzer/rules/no-empty-attributes.md rename to docs/docs/analyzer/rules/no-empty-attributes.mdx index 981e9f5d3b..cdb2ef8d4d 100644 --- a/docs/docs/analyzer/rules/no-empty-attributes.md +++ b/docs/docs/analyzer/rules/no-empty-attributes.mdx @@ -1,4 +1,15 @@ -# no-empty-attributes +--- +id: no-empty-attributes +title: no-empty-attributes +description: Disallow empty attribute values | The Tracetest Analyzer analyzes OpenTelemetry traces +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Disallow empty attribute values. diff --git a/docs/docs/analyzer/rules/prefer-dns.md b/docs/docs/analyzer/rules/prefer-dns.mdx similarity index 64% rename from docs/docs/analyzer/rules/prefer-dns.md rename to docs/docs/analyzer/rules/prefer-dns.mdx index fab3896184..01ae45b712 100644 --- a/docs/docs/analyzer/rules/prefer-dns.md +++ b/docs/docs/analyzer/rules/prefer-dns.mdx @@ -1,4 +1,15 @@ -# prefer-dns +--- +id: prefer-dns +title: prefer-dns +description: Enforce usage of DNS instead of IP addresses | The Tracetest Analyzer analyzes OpenTelemetry traces +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Enforce usage of DNS instead of IP addresses. @@ -8,14 +19,14 @@ When connecting to remote servers, ensure the usage of DNS instead of IP address The following attributes are evaluated: -``` +```yaml - http.url - db.connection_string ``` If span kind is `"client"`, the following attributes are evaluated: -``` +```yaml - net.peer.name ``` diff --git a/docs/docs/analyzer/rules/required-attributes.md b/docs/docs/analyzer/rules/required-attributes.mdx similarity index 77% rename from docs/docs/analyzer/rules/required-attributes.md rename to docs/docs/analyzer/rules/required-attributes.mdx index d52b2a186d..9fadfcaa2f 100644 --- a/docs/docs/analyzer/rules/required-attributes.md +++ b/docs/docs/analyzer/rules/required-attributes.mdx @@ -1,4 +1,15 @@ -# required-attributes +--- +id: required-attributes +title: required-attributes +description: Enforce required attributes by span type | The Tracetest Analyzer analyzes OpenTelemetry traces +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Enforce required attributes by span type. diff --git a/docs/docs/analyzer/rules/secure-https-protocol.md b/docs/docs/analyzer/rules/secure-https-protocol.mdx similarity index 66% rename from docs/docs/analyzer/rules/secure-https-protocol.md rename to docs/docs/analyzer/rules/secure-https-protocol.mdx index 0e0b0a7861..74c2f0c2c7 100644 --- a/docs/docs/analyzer/rules/secure-https-protocol.md +++ b/docs/docs/analyzer/rules/secure-https-protocol.mdx @@ -1,4 +1,15 @@ -# secure-https-protocol +--- +id: secure-https-protocol +title: secure-https-protocol +description: Enforce usage of secure protocol for HTTP server spans | The Tracetest Analyzer analyzes OpenTelemetry traces +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Enforce usage of secure protocol for HTTP server spans. diff --git a/docs/docs/analyzer/rules/span-naming.md b/docs/docs/analyzer/rules/span-naming.mdx similarity index 53% rename from docs/docs/analyzer/rules/span-naming.md rename to docs/docs/analyzer/rules/span-naming.mdx index e35702c111..dcad29d086 100644 --- a/docs/docs/analyzer/rules/span-naming.md +++ b/docs/docs/analyzer/rules/span-naming.mdx @@ -1,10 +1,21 @@ -# span-naming - -Enforce span names that identify a class of Spans, rather than individual Span instances. +--- +id: span-naming +title: span-naming +description: Enforce span names that identify a class of Spans, rather than individual Span instances | The Tracetest Analyzer analyzes OpenTelemetry traces +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +Enforce span names that identify a class of Spans, rather than individual Span instances. ## Rule Details -The span name concisely identifies the work represented by the Span, for example, an RPC method name, a function name, or the name of a subtask or stage within a larger computation. The span name SHOULD be the most general string that identifies a class of Spans, rather than individual Span instances while still being human-readable. +The span name concisely identifies the work represented by the Span, for example, an RPC method name, a function name, or the name of a subtask or stage within a larger computation. The span name SHOULD be the most general string that identifies a class of Spans, rather than individual Span instances while still being human-readable. The following OTel semantic conventions for span names are defined: diff --git a/docs/docs/ci-cd-automation/github-actions-pipeline.md b/docs/docs/ci-cd-automation/github-actions-pipeline.mdx similarity index 97% rename from docs/docs/ci-cd-automation/github-actions-pipeline.md rename to docs/docs/ci-cd-automation/github-actions-pipeline.mdx index 2fd88a4d54..471e64e830 100644 --- a/docs/docs/ci-cd-automation/github-actions-pipeline.md +++ b/docs/docs/ci-cd-automation/github-actions-pipeline.mdx @@ -1,4 +1,15 @@ -# GitHub Actions Pipeline +--- +id: github-actions-pipeline +title: GitHub Actions Pipeline +description: Quick start how to configure GitHub Actions to run Tracetest trace-based tests against a Node.js app with OpenTelemetry instrumentation and traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-github-actions) diff --git a/docs/docs/ci-cd-automation/overview.md b/docs/docs/ci-cd-automation/overview.mdx similarity index 67% rename from docs/docs/ci-cd-automation/overview.md rename to docs/docs/ci-cd-automation/overview.mdx index e014771104..619df8bfa1 100644 --- a/docs/docs/ci-cd-automation/overview.md +++ b/docs/docs/ci-cd-automation/overview.mdx @@ -1,12 +1,23 @@ -# CI/CD Automation +--- +id: overview +title: CI/CD Automation +description: Overview of running automated trace-based testing with Tracetest in CI/CD pipelines. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- This section contains a general overview of running Tracetest in CI/CD pipelines. You can find guides for: -- [GitHub Actions](./github-actions-pipeline.md) -- [Testkube](./testkube-pipeline.md) -- [Tekton](./tekton-pipeline.md) +- [GitHub Actions](/ci-cd-automation/github-actions-pipeline) +- [Testkube](/ci-cd-automation/testkube-pipeline) +- [Tekton](/ci-cd-automation/tekton-pipeline) :::note If you want to see more examples with other CI/CD tools, let us know by [opening an issue in GitHub](https://github.com/kubeshop/tracetest/issues/new/choose)! @@ -21,7 +32,7 @@ To read more about integrating Tracetest with CI/CD tools, check out tutorials i ## Running Tracetest CLI from Docker -Many integrations with CI/CD tools can be accomplished by running the [Tracetest CLI](../cli/configuring-your-cli.md) to execute a test against a remote Tracetest server. If you do not want to install the Tracetest CLI in your environment, you can choose to directly execute it from a Docker image. +Many integrations with CI/CD tools can be accomplished by running the [Tracetest CLI](../cli/configuring-your-cli) to execute a test against a remote Tracetest server. If you do not want to install the Tracetest CLI in your environment, you can choose to directly execute it from a Docker image. **How to Use**: diff --git a/docs/docs/ci-cd-automation/tekton-pipeline.md b/docs/docs/ci-cd-automation/tekton-pipeline.mdx similarity index 97% rename from docs/docs/ci-cd-automation/tekton-pipeline.md rename to docs/docs/ci-cd-automation/tekton-pipeline.mdx index f1d51af9fe..ebcbd6e2da 100644 --- a/docs/docs/ci-cd-automation/tekton-pipeline.md +++ b/docs/docs/ci-cd-automation/tekton-pipeline.mdx @@ -1,4 +1,15 @@ -# Tekton Cloud-native Pipeline +--- +id: tekton-pipeline +title: Tekton Cloud-native Pipeline +description: Use Tracetest with Tekton to add trace-based testing to Kubernetes-native CI/CD pipelines. Run scheduled and synthetic tests against trace data. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-tekton) diff --git a/docs/docs/ci-cd-automation/testkube-pipeline.md b/docs/docs/ci-cd-automation/testkube-pipeline.mdx similarity index 97% rename from docs/docs/ci-cd-automation/testkube-pipeline.md rename to docs/docs/ci-cd-automation/testkube-pipeline.mdx index 170bf3e282..41bb6e3188 100644 --- a/docs/docs/ci-cd-automation/testkube-pipeline.md +++ b/docs/docs/ci-cd-automation/testkube-pipeline.mdx @@ -1,7 +1,18 @@ -# Testkube Kubernetes-native Test Runner Pipeline +--- +id: testkube-pipeline +title: Testkube Kubernetes-native Test Runner Pipeline +description: Use Tracetest with Testkube to add trace-based testing to Kubernetes-native CI/CD pipelines. Run scheduled and synthetic tests against trace data. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note -[Check out how the integration works, here.](../tools-and-integrations/testkube.md) +[Check out how the integration works, here.](/tools-and-integrations/testkube) ::: ## Running Scheduled Trace-based Tests diff --git a/docs/docs/cli/cli-installation-reference.md b/docs/docs/cli/cli-installation-reference.mdx similarity index 84% rename from docs/docs/cli/cli-installation-reference.md rename to docs/docs/cli/cli-installation-reference.mdx index 6065a8a4f3..b9b61599e0 100644 --- a/docs/docs/cli/cli-installation-reference.md +++ b/docs/docs/cli/cli-installation-reference.mdx @@ -1,11 +1,22 @@ -# CLI Installation Reference +--- +id: cli-installation-reference +title: CLI Installation Reference +description: Tracetest adds versions to tests by giving the initial version "v1". When something changes in your test it's detected and the test increases the version by 1. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- This page contains a reference of all options for installing Tracetest CLI. Tracetest has a command line interface (CLI) which includes an **install wizard** that helps to install the Tracetest server into Docker or Kubernetes. The CLI can also be used to run tests, download or upload tests, and manage much of the capability of Tracetest. :::tip Want more info? -Read more about the installation guide [here](../getting-started/installation.mdx). +Read more about the installation guide [here](/getting-started/installation). ::: ## Installing the Tracetest CLI in different operating systems diff --git a/docs/docs/cli/configuring-your-cli.md b/docs/docs/cli/configuring-your-cli.mdx similarity index 84% rename from docs/docs/cli/configuring-your-cli.md rename to docs/docs/cli/configuring-your-cli.mdx index 3a97a6482e..0939a79b8a 100644 --- a/docs/docs/cli/configuring-your-cli.md +++ b/docs/docs/cli/configuring-your-cli.mdx @@ -1,4 +1,15 @@ -# Configuring your CLI +--- +id: configuring-your-cli +title: Configuring your CLI +description: Configure the Tracetest CLI. The CLI is used for creating tests and executing them each time a change is made in the system. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Our web interface makes it easier to visualize your traces and add assertions, but sometimes a CLI is needed for automation. The CLI was developed for users creating tests and executing them each time a change is made in the system, so Tracetest can detect regressions and check your Service Level Objectives (SLOs). diff --git a/docs/docs/cli/creating-data-stores.md b/docs/docs/cli/creating-data-stores.mdx similarity index 79% rename from docs/docs/cli/creating-data-stores.md rename to docs/docs/cli/creating-data-stores.mdx index b0db55ef55..592bd846df 100644 --- a/docs/docs/cli/creating-data-stores.md +++ b/docs/docs/cli/creating-data-stores.mdx @@ -1,4 +1,15 @@ -# Defining Data Stores as Text Files +--- +id: creating-data-stores +title: Defining Data Stores as Text Files +description: Configure Trace Data Stores in Tracetest by using a configuration file that can be applied to your Tracetest instance. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- You might have multiple Tracetest instances that need to be connected to the same data stores. An easy way of sharing the configuration is by using a configuration file that can be applied to your Tracetest instance. @@ -151,11 +162,11 @@ spec: default: true ``` -> Consider reading about [how to use the OTEL collector](../configuration/connecting-to-data-stores/opentelemetry-collector.md) to send traces to your Tracetest instance. +> Consider reading about [how to use the OTEL collector](/configuration/connecting-to-data-stores/opentelemetry-collector) to send traces to your Tracetest instance. ## Apply Configuration -To apply the configuration, you need a [configured CLI](./configuring-your-cli.md) pointed to the instance you want to apply the data store. Then use the following command: +To apply the configuration, you need a [configured CLI](/cli/configuring-your-cli) pointed to the instance you want to apply the data store. Then use the following command: ``` tracetest apply datastore -f my/data-store/file/location.yaml diff --git a/docs/docs/cli/creating-test-outputs.md b/docs/docs/cli/creating-test-outputs.mdx similarity index 71% rename from docs/docs/cli/creating-test-outputs.md rename to docs/docs/cli/creating-test-outputs.mdx index 854fc14a43..3156ec7816 100644 --- a/docs/docs/cli/creating-test-outputs.md +++ b/docs/docs/cli/creating-test-outputs.mdx @@ -1,10 +1,21 @@ -# Defining Test Outputs in Text Files - -Outputs are really useful when running [Test Suites](../concepts/test-suites). They allow for exporting values from a test so they become available in the [Variable Sets](../concepts/variable-sets.md) of the current Test Suite. +--- +id: creating-test-outputs +title: Defining Test Outputs in Text Files +description: Test outputs allow for exporting values from a test so they become available in Variable Sets of a Test Suite. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +Outputs are really useful when running [Test Suites](/concepts/test-suites). They allow for exporting values from a test so they become available in the [Variable Sets](/concepts/variable-sets) of the current Test Suite. ## Outputs are Expression Results -An output exports the result of an [Expression](../concepts/expressions) and assigns it to a name, so it can be injected into the variable set of a running Test Suite. +An output exports the result of an [Expression](/concepts/expressions) and assigns it to a name, so it can be injected into the variable set of a running Test Suite. A `selector` is needed only if the provided expression refers to a/some span/s attribute or meta attributes. It can be defined using the following YAML definition: diff --git a/docs/docs/cli/creating-test-specifications.md b/docs/docs/cli/creating-test-specifications.mdx similarity index 90% rename from docs/docs/cli/creating-test-specifications.md rename to docs/docs/cli/creating-test-specifications.mdx index 39806ffa3f..5efda42a59 100644 --- a/docs/docs/cli/creating-test-specifications.md +++ b/docs/docs/cli/creating-test-specifications.mdx @@ -1,4 +1,15 @@ -# Defining Test Specifications in Text Files +--- +id: creating-test-specifications +title: Defining Test Specifications in Text Files +description: Test Specifications may be added to a trace to set a value for a step in the trace to determine success or failure. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Test Specifications may be added to a trace to set a value for a step in the trace to determine success or failure. @@ -8,8 +19,8 @@ Assertions are as important as how you trigger your test. Without them, your tes Before we start, there are two concepts that you must understand to write your tests: -- [Selectors](../concepts/selectors.md) -- [Assertions](../concepts/assertions.md) +- [Selectors](/concepts/selectors) +- [Assertions](/concepts/assertions) ### Selectors diff --git a/docs/docs/cli/creating-test-suites.md b/docs/docs/cli/creating-test-suites.mdx similarity index 62% rename from docs/docs/cli/creating-test-suites.md rename to docs/docs/cli/creating-test-suites.mdx index 38c1fc2d6c..f9798cde90 100644 --- a/docs/docs/cli/creating-test-suites.md +++ b/docs/docs/cli/creating-test-suites.mdx @@ -1,9 +1,20 @@ -# Defining Test Suites as Text Files +--- +id: creating-test-suites +title: Defining Test Suites as Text Files +description: Create and edit Test Suites with the CLI. Just like other structures of Tracetest, you can also manage your Test Suites using the CLI and definition files. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- This page showcases how to create and edit Test Suites with the CLI. :::tip -[To read more about Test Suites check out Test Suites concepts page.](../concepts/test-suites.md) +[To read more about Test Suites check out Test Suites concepts page.](/concepts/test-suites) ::: Just like other structures of Tracetest, you can also manage your Test Suites using the CLI and definition files. @@ -22,7 +33,7 @@ spec: - testID # you can also reference tests by their ids instead of referencing the definition file ``` -In order to apply this Test Suite to your Tracetest instance, make sure to have your [CLI configured](./configuring-your-cli.md) and run: +In order to apply this Test Suite to your Tracetest instance, make sure to have your [CLI configured](/cli/configuring-your-cli) and run: ```sh tracetest apply testsuite -f diff --git a/docs/docs/cli/creating-tests.md b/docs/docs/cli/creating-tests.mdx similarity index 93% rename from docs/docs/cli/creating-tests.md rename to docs/docs/cli/creating-tests.mdx index 5e57135e9e..fc07fe87c0 100644 --- a/docs/docs/cli/creating-tests.md +++ b/docs/docs/cli/creating-tests.mdx @@ -1,4 +1,15 @@ -# Defining Tests as Text Files +--- +id: creating-tests +title: Defining Tests as Text Files +description: Tracetest enables developers to define tests as text files and run them using a CLI. Integrate the execution of tests in your existing CI pipeline. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- One important aspect of testing your code is the ability to quickly implement changes while not breaking your application. If you change your application, it is important to be able to update your tests and run them against your new implementation as soon as possible for a timely development feedback loop. @@ -171,9 +182,9 @@ Available functions: | `randomInt(min, max)` | Generates a random integer contained in the closed interval defined by [`min`, `max`]. | :::tip -[Continue reading about Test Specs, here.](./creating-test-specifications.md) +[Continue reading about Test Specs, here.](/cli/creating-test-specifications) ::: :::tip -[Continue reading about Test Outputs, here.](./creating-test-outputs.md) +[Continue reading about Test Outputs, here.](/cli/creating-test-outputs) ::: diff --git a/docs/docs/cli/creating-variable-sets.md b/docs/docs/cli/creating-variable-sets.mdx similarity index 66% rename from docs/docs/cli/creating-variable-sets.md rename to docs/docs/cli/creating-variable-sets.mdx index 783883734e..d0fc669815 100644 --- a/docs/docs/cli/creating-variable-sets.md +++ b/docs/docs/cli/creating-variable-sets.mdx @@ -1,9 +1,20 @@ -# Defining Variable Sets as Text Files +--- +id: creating-variable-sets +title: Defining Variable Sets as Text Files +description: Configure Variable Sets in Tracetest by using a configuration file that can be applied to your Tracetest instance. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- This page showcases how to create and edit variable sets with the CLI. :::tip -[To read more about variable sets check out variable sets concepts.](../concepts/variable-sets.md) +[To read more about variable sets check out variable sets concepts.](/concepts/variable-sets) ::: Just like Data Stores, you can also manage your variable sets using the CLI and definition files. @@ -22,7 +33,7 @@ spec: value: mysecret ``` -In order to apply this configuration to your Tracetest instance, make sure to have your [CLI configured](./configuring-your-cli.md) and run: +In order to apply this configuration to your Tracetest instance, make sure to have your [CLI configured](/cli/configuring-your-cli) and run: ```sh tracetest apply variableset -f diff --git a/docs/docs/cli/exporting-tests.md b/docs/docs/cli/exporting-tests.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/docs/cli/running-test-suites.md b/docs/docs/cli/running-test-suites.mdx similarity index 79% rename from docs/docs/cli/running-test-suites.md rename to docs/docs/cli/running-test-suites.mdx index 6b6d016140..44862f8c8d 100644 --- a/docs/docs/cli/running-test-suites.md +++ b/docs/docs/cli/running-test-suites.mdx @@ -1,4 +1,15 @@ -# Running Test Suites From the Command Line Interface (CLI) +--- +id: running-test-suites +title: Running Test Suites From the Command Line Interface (CLI) +description: Run Tracetest Test Suites from the Command Line Interface (CLI) to integrate it into your CI/CD process or your local development workflow. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Once you have created a Test Suite, whether from the Tracetest UI or via a text editor, you will need the capability to run it via the Command Line Interface (CLI) to integrate it into your CI/CD process or your local development workflow. @@ -6,7 +17,7 @@ The command to run a Test Suite is the same as running a test from the CLI. The documentation for running a test via the CLI can be found here: -- [tracetest run](./reference/tracetest_run.md): This page provides examples of using this command. +- [tracetest run](/cli/reference/tracetest_run): This page provides examples of using this command. ## Running Your First Test Suite diff --git a/docs/docs/cli/running-tests.md b/docs/docs/cli/running-tests.mdx similarity index 93% rename from docs/docs/cli/running-tests.md rename to docs/docs/cli/running-tests.mdx index 276ddd2a21..aff1e9e4df 100644 --- a/docs/docs/cli/running-tests.md +++ b/docs/docs/cli/running-tests.mdx @@ -1,10 +1,21 @@ -# Running Tests From the Command Line Interface (CLI) +--- +id: running-tests +title: Running Tests From the Command Line Interface (CLI) +description: Run Tracetest Tests from the Command Line Interface (CLI) to integrate it into your CI/CD process or your local development workflow. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Once you have created a test, whether from the Tracetest UI or via a text editor, you will need the capability to run it via the Command Line Interface (CLI) to integrate it into your CI/CD process or your local development workflow. The documentation for running a test via the CLI can be found here: -- [tracetest run](./reference/tracetest_run.md): This page provides examples of using this command. +- [tracetest run](/cli/reference/tracetest_run): This page provides examples of using this command. ## Running Your First Test diff --git a/docs/docs/cli/undefined-variables.md b/docs/docs/cli/undefined-variables.mdx similarity index 69% rename from docs/docs/cli/undefined-variables.md rename to docs/docs/cli/undefined-variables.mdx index eb1eec369d..1de8fe51b9 100644 --- a/docs/docs/cli/undefined-variables.md +++ b/docs/docs/cli/undefined-variables.mdx @@ -1,4 +1,15 @@ -# Undefined Variables +--- +id: undefined-variables +title: Undefined Variables +description: When variables from a Variable Set are undefined and you run a Test or Test Suite, any variables that are needed will be prompted for. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- When a user runs a test or a Test Suite, any variables that will be needed but are not defined will be prompted for: @@ -52,5 +63,5 @@ tracetest run test -f path/to/test.yaml --vars testvars ``` :::tip -[Check out use-cases for using undefined variables here.](../concepts/ad-hoc-testing.md) +[Check out use-cases for using undefined variables here.](/concepts/ad-hoc-testing) ::: diff --git a/docs/docs/concepts/ad-hoc-testing.md b/docs/docs/concepts/ad-hoc-testing.mdx similarity index 82% rename from docs/docs/concepts/ad-hoc-testing.md rename to docs/docs/concepts/ad-hoc-testing.mdx index 70ee6f801a..fe40038fb2 100644 --- a/docs/docs/concepts/ad-hoc-testing.md +++ b/docs/docs/concepts/ad-hoc-testing.mdx @@ -1,13 +1,24 @@ -# Ad-hoc Testing +--- +id: ad-hoc-testing +title: Ad-hoc Testing +description: Use Tracetest to enable ad-hoc testing by utilizing variable sets and undefined variables. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- This page showcases use-cases for undefined variables and how to enable ad-hoc testing by utilizing variable sets and undefined variables. :::tip -[Check out how to configure ad-hoc testing with undefined variables with the **Web UI** here.](../web-ui/undefined-variables.md) +[Check out how to configure ad-hoc testing with undefined variables with the **Web UI** here.](../web-ui/undefined-variables) ::: :::tip -[Check out how to configure ad-hoc testing with undefined variables with the **CLI** here.](../cli/undefined-variables.md) +[Check out how to configure ad-hoc testing with undefined variables with the **CLI** here.](../cli/undefined-variables) ::: ## **Undefined Variables Use Cases** diff --git a/docs/docs/concepts/agent.mdx b/docs/docs/concepts/agent.mdx index 868916175f..c3a677b9bc 100644 --- a/docs/docs/concepts/agent.mdx +++ b/docs/docs/concepts/agent.mdx @@ -1,14 +1,14 @@ --- id: agent title: Tracetest Agent -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +description: Tracetest Agent is a lightweight, dependency-free agent that runs locally in your development environment, or as a Docker container in your Cloud Native infrastructure. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Tracetest Agent is a lightweight, dependency-free agent that runs locally in your development environment, or as a Docker container in your Cloud Native infrastructure. diff --git a/docs/docs/concepts/architecture.md b/docs/docs/concepts/architecture.md deleted file mode 100644 index 331aaa72f6..0000000000 --- a/docs/docs/concepts/architecture.md +++ /dev/null @@ -1,5 +0,0 @@ -# Architecture - -The diagram below shows the underlying Tracetest architecture. - -![Architecture Diagram](../img/creatingatestdiagram.gif) diff --git a/docs/docs/concepts/architecture.mdx b/docs/docs/concepts/architecture.mdx new file mode 100644 index 0000000000..d7709e9657 --- /dev/null +++ b/docs/docs/concepts/architecture.mdx @@ -0,0 +1,16 @@ +--- +id: architecture +title: Architecture +description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +The diagram below shows the underlying Tracetest architecture. + +![Architecture Diagram](../img/creatingatestdiagram.gif) diff --git a/docs/docs/concepts/assertions.md b/docs/docs/concepts/assertions.mdx similarity index 82% rename from docs/docs/concepts/assertions.md rename to docs/docs/concepts/assertions.mdx index ff7b2bf2de..8eee954a57 100644 --- a/docs/docs/concepts/assertions.md +++ b/docs/docs/concepts/assertions.mdx @@ -1,4 +1,15 @@ -# Assertions +--- +id: assertions +title: Assertions +description: Assertions are added to set a value for a step in the trace to determine success or failure. Build integration and end-to-end tests with OpenTelemetry traces with Tracetest. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Test Specifications may be added to a trace to set a value for a step in the trace to determine success or failure. If test specs have already been added to a test, they will be on the Test screen: diff --git a/docs/docs/concepts/data-stores.md b/docs/docs/concepts/data-stores.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/docs/concepts/environments.mdx b/docs/docs/concepts/environments.mdx index ef598a2f3b..829ee1116c 100644 --- a/docs/docs/concepts/environments.mdx +++ b/docs/docs/concepts/environments.mdx @@ -1,7 +1,7 @@ --- id: environments title: Environments -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +description: Environments are workspaces where you keep tests, test suites, variable sets, and all other Tracetest resources. Build integration and end-to-end tests with OpenTelemetry traces with Tracetest. hide_table_of_contents: false keywords: - tracetest @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Environments are workspaces where you keep tests, test suites, variable sets, and all other Tracetest resources. diff --git a/docs/docs/concepts/expressions.md b/docs/docs/concepts/expressions.mdx similarity index 86% rename from docs/docs/concepts/expressions.md rename to docs/docs/concepts/expressions.mdx index c310b09d8a..27e0f21c20 100644 --- a/docs/docs/concepts/expressions.md +++ b/docs/docs/concepts/expressions.mdx @@ -1,8 +1,20 @@ -# Expressions +--- +id: expressions +title: Expressions +description: Expressions are used to add values that are only known during execution time. Build integration and end-to-end tests with OpenTelemetry traces with Tracetest. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest allows you to add expressions when writing your tests. They are a nice and clean way of adding values that are only known during execution time. For example, when referencing a variable, a span attribute or even arithmetic operations. -## **Features** +## Features * Reference span attributes * Reference variables @@ -10,7 +22,7 @@ Tracetest allows you to add expressions when writing your tests. They are a nice * String interpolation * Filters -### **Reference Span Attributes** +### Reference Span Attributes When building assertions, you might need to assert if a certain span contains an attribute and that this attribute has a specific value. To accomplish this with Tracetest, you can use expressions to get the value of the span. When referencing an attribute, add the prefix `attr:` and its name. For example, imagine you have to check if the attribute `service.name` is equal to `cart-api`. Use the following statement: @@ -18,11 +30,11 @@ When building assertions, you might need to assert if a certain span contains an attr:service.name = "cart-api" ``` -### **Reference Variables** +### Reference Variables Create variables in Tracetest based on the trace obtained by the test to enable assertions that require values from other spans. Variables use the prefix `var:` and its name. For example, a variable called `user_id` would be referenced as `var:user_id` in an expression. -### **Arithmetic Operations** +### Arithmetic Operations Sometimes we need to manipulate data to ensure our test data is correct. As an example, we will use a purchase operation. How you would make sure that, after the purchase, the product inventory is smaller than before? For this, we might want to use arithmetic operations: @@ -30,7 +42,7 @@ Sometimes we need to manipulate data to ensure our test data is correct. As an e attr:product.stock = attr:product.stok_before_purchase - attr:product.number_bought_items ``` -### **String Interpolation** +### String Interpolation Some tests might require strings to be compared, but maybe you need to generate a dynamic string that relies on a dynamic value. This might be used in an assertion or even in the request body referencing a variable. @@ -40,12 +52,11 @@ attr:error.message = "Could not withdraw ${attr:withdraw.amount}, your balance i Note that within `${}` you can add any expression, including arithmetic operations and filters. - -### **Filters** +### Filters Filters are functions that are executed using the value obtained by the expression. They are useful to transform the data. Multiple filters can be chained together. The output of the previous filter will be used as the input to the next until all filters are executed. -#### **JSON Path** +#### JSON Path This filter allows you to filter a JSON string and obtain only data that is relevant. ```css @@ -58,14 +69,14 @@ If multiple values are matched, the output will be a flat array containing all v '{ "array": [{"name": "Jorge", "age": 27}, {"name": "Tim", "age": 52}]}' | json_path '$.array[*]..["name", "age"] = '["Jorge", 27, "Tim", 52]' ``` -#### **RegEx** +#### RegEx Filters part of the input that match a RegEx. Imagine you have a specific part of a text that you want to extract: ```css 'My account balance is $48.52' | regex '\$\d+(\.\d+)?' = '$48.52' ``` -#### **RegEx Group** +#### RegEx Group If matching more than one value is required, you can define groups for your RegEx and extract multiple values at once. Wrap the groups you want to extract with parentheses. @@ -74,7 +85,7 @@ Wrap the groups you want to extract with parentheses. 'Hello Marcus, today you have 8 meetings' | regex_group 'Hello (\w+), today you have (\d+) meetings' = '["Marcus", 8]' ``` -### **Get Index** +### Get Index Some filters might result in an array. If you want to assert just part of this array, this filter allows you to pick one element from the array based on its index. @@ -88,7 +99,7 @@ You can select the last item from a list by specifying `'last'` as the argument '{ "array": [1, 2, 3] }' | json_path '$.array[*]' | get_index 'last' = 3 ``` -### **Length** +### Length Returns the size of the input array. If it's a single value, it will return 1. Otherwise it will return `length(input_array)`. @@ -100,7 +111,7 @@ Returns the size of the input array. If it's a single value, it will return 1. O "my string" | length = 1 ``` -### **Type** +### Type Return the type of the input as a string. diff --git a/docs/docs/concepts/organizations.mdx b/docs/docs/concepts/organizations.mdx index 0fc28fbe63..961b3e6105 100644 --- a/docs/docs/concepts/organizations.mdx +++ b/docs/docs/concepts/organizations.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Organizations contain a collection of environments, team members, and settings. diff --git a/docs/docs/concepts/selectors.md b/docs/docs/concepts/selectors.mdx similarity index 98% rename from docs/docs/concepts/selectors.md rename to docs/docs/concepts/selectors.mdx index 85da417140..a7d97d7d4e 100644 --- a/docs/docs/concepts/selectors.md +++ b/docs/docs/concepts/selectors.mdx @@ -1,4 +1,16 @@ -# Selectors +--- +id: selectors +title: Selectors +description: Advanced selectors enable selecting spans for assertions. Build integration and end-to-end tests with OpenTelemetry traces with Tracetest. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you find yourself in a position where you cannot select complex spans, you can use our advanced selectors to help with that task. Advanced selectors enable selecting spans that are impossible to select using just basic selectors. diff --git a/docs/docs/concepts/test-suites.md b/docs/docs/concepts/test-suites.mdx similarity index 77% rename from docs/docs/concepts/test-suites.md rename to docs/docs/concepts/test-suites.mdx index 6bd655a168..2e43fb043b 100644 --- a/docs/docs/concepts/test-suites.md +++ b/docs/docs/concepts/test-suites.mdx @@ -1,4 +1,15 @@ -# Test Suites +--- +id: test-suites +title: Test Suites +description: Use Tracetest to enable ad-hoc testing by utilizing variable sets and undefined variables. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Most End-to-End tests are not simple to run. They require some setup before the actual test is run. Actions like creating a new user, removing all items from a cart, etc. It is important that you can execute multiple steps as part of your Test Suite. Tracetest introduces the concept of **Test Suites** to achieve this goal. @@ -9,18 +20,18 @@ A Test Suite is defined as a group of steps that are executed in the defined ord The main benefit of using Test Suites is to chain tests together and use values obtained from a test in a subsequent test. ### How Values are Shared by Tests -When a Test Suite is run, a context object is created with information about that specific run. One of those pieces of information is a `variable set` object, which is empty by default. If the Test Suite is run when referencing an [variable set](./variable-sets.md), all values from the selected variable sets will be copied to the `variable set` object. +When a Test Suite is run, a context object is created with information about that specific run. One of those pieces of information is a `variable set` object, which is empty by default. If the Test Suite is run when referencing an [variable set](/concepts/variable-sets), all values from the selected variable sets will be copied to the `variable set` object. When a test is executed within a Test Suite, if it generates any outputs, its outputs will be injected into the Test Suite context variable set object. After the outputs are injected, all subsequent tests to be run within the Test Suite will be able to reference those values. -> :information_source: Outputs generated by steps don't modify the selected [variable set](./variable-sets.md). It only modifies the Test Suite run context object. +> :information_source: Outputs generated by steps don't modify the selected [variable set](/concepts/variable-sets). It only modifies the Test Suite run context object. Consider you have 3 tests within a Test Suite: A, B, and C. Tests A and B generate outputs called A_OUTPUT and B_OUTPUT, respectively. When running the Test Suite, we provide a variable set which contains a `HOST` variable. The execution of test A would only be able to reference `var:HOST`. B would be able to reference `var:HOST`, and `var:A_OUTPUT`. While C would be able to reference all three variables: `var:HOST`, `var:A_OUTPUT`, `var:B_OUTPUT`. > :information_source: A single test can contain as many outputs as you like. ### Exposing Values from a Test to Other Tests -Since version v0.8, Tracetest allows tests to declare `outputs`. An output is a value that is extracted from a trace by providing a [selector](./selectors) to choose which spans to use to get the information from, and an [expression](./expressions) to get the value from the selected spans. For example, consider that you want to expose the time a specific job was taken from a queue and began executing. An output would look something like the following: +Since version v0.8, Tracetest allows tests to declare `outputs`. An output is a value that is extracted from a trace by providing a [selector](/concepts/selectors) to choose which spans to use to get the information from, and an [expression](/concepts/expressions) to get the value from the selected spans. For example, consider that you want to expose the time a specific job was taken from a queue and began executing. An output would look something like the following: ```yaml outputs: diff --git a/docs/docs/concepts/tests.md b/docs/docs/concepts/tests.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/docs/concepts/variable-sets.md b/docs/docs/concepts/variable-sets.mdx similarity index 85% rename from docs/docs/concepts/variable-sets.md rename to docs/docs/concepts/variable-sets.mdx index f5ffee3f49..f8e9ded38b 100644 --- a/docs/docs/concepts/variable-sets.md +++ b/docs/docs/concepts/variable-sets.mdx @@ -1,4 +1,15 @@ -# Variable Sets +--- +id: variable-sets +title: Variable Sets +description: Use Tracetest to enable ad-hoc testing by utilizing variable sets and undefined variables. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- A common use case for tests is to assert the same behavior across multiple environments (dev, staging, and production, for example). To make sure all of these environments will have the same behavior, it is important that the tests executed against those environments test the same aspects. To reduce the risks of diverging tests, Tracetest allows you to organize different environments configurations using global objects called **Variable Sets**. diff --git a/docs/docs/concepts/versioning.md b/docs/docs/concepts/versioning.mdx similarity index 74% rename from docs/docs/concepts/versioning.md rename to docs/docs/concepts/versioning.mdx index 59f34c0fcd..039556258c 100644 --- a/docs/docs/concepts/versioning.md +++ b/docs/docs/concepts/versioning.mdx @@ -1,14 +1,25 @@ -# Versioning +--- +id: versioning +title: Versioning +description: Tracetest adds versions to tests by giving the initial version "v1". When something changes in your test it's detected and the test increases the version by 1. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- As your system evolves, your tests tend to do the same. However, that might be confusing if you don't have a versioning mechanism in place. Imagine that you wrote a new test for the version `v0.5.0` of your application. After some months, your application is in version `v0.13.7`. Most likely, your tests changed as you moved your application forward. But without versioning, if you revisit that first test you created, it will look like exactly the one you use today instead of the test you originally wrote. That happens because while you have multiple versions of your application, you only keep track of one version of your tests: the current version. So there is no way to go back in time and see what a test looked like in the past. **But that is not a problem if you use Tracetest. It has versioning built-in!** -## **How It Works** +## How It Works Once you create a test, it is tagged as the initial version (`v1`). Every time you change something in your test (edit its identification details, add assertions, change selectors, etc), Tracetest detects those changes and increases the version by 1. If no changes were made, the version is kept untouched. -### **Change Detection** +### Change Detection These are the fields of a test that are checked to verify if it has changed: @@ -20,6 +31,6 @@ These are the fields of a test that are checked to verify if it has changed: - assertions - test outputs -### **Problems** +### Problems If you notice you are editing fields and your test version is not changing, let us know by opening a [bug report](https://github.com/kubeshop/tracetest/issues) on our Github Repository. diff --git a/docs/docs/concepts/what-is-trace-based-testing.md b/docs/docs/concepts/what-is-trace-based-testing.mdx similarity index 72% rename from docs/docs/concepts/what-is-trace-based-testing.md rename to docs/docs/concepts/what-is-trace-based-testing.mdx index 3ccc545efe..1ff2ad89b2 100644 --- a/docs/docs/concepts/what-is-trace-based-testing.md +++ b/docs/docs/concepts/what-is-trace-based-testing.mdx @@ -1,10 +1,19 @@ -# What is Trace-Based Testing - - -Trace-Based Testing is a means of conducting deep integration or system tests by utilizing the rich data contained in a distributed system trace. - - -## **What is a Distributed Trace?** +--- +id: what-is-trace-based-testing +title: What is Trace-Based Testing +description: Trace-based testing is a means of conducting deep integration or system tests by utilizing the rich data contained in a distributed system trace. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +**Trace-based testing** is a means of conducting deep integration or system tests by utilizing the rich data contained in a distributed system trace. + +## What is a Distributed Trace? A Distributed Trace, more commonly known as a Trace, records the paths taken by requests (made by an application or end-user) take as they propagate through multi-service architectures, like microservice and serverless applications. [Source - OpenTelemetry.io](https://opentelemetry.io/docs/concepts/observability-primer/) @@ -12,55 +21,41 @@ In Tracetest, after selecting a test from the first screen and clicking on the * ![Trace Example](../img/trace-example.png) - - - -### **What is a Span?** +### What is a Span? Traces are comprised of spans. A span represents a single operation in a trace. Spans are nested, typically with a parent child relationship to form a deeply nested tree. ![Span Example](../img/span-example.png) -### **What Data do Spans Contain?** - +### What Data do Spans Contain? A span contains the data about the operation it represents. This data includes: - The span name. - - Start and end timestamp. - - List of events (if instrumented). - - Attributes -### **What are Attributes?** +### What are Attributes? Attributes are a key-value pair, and they contain information about the operation. A developer can manually add additional attributes to a span, enriching the data. There are [Semantic Conventions](https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/) that provide recommended names for the attributes for common types of calls such as database, http, messaging, etc. -## **What is a Test Spec?** - +## What is a Test Spec? In Tracetest, a Test Spec is comprised of two parts: - - Selectors - Checks - - -### **What is a Selector?** - +### What is a Selector? A selector contains criteria to limit the scope of the spans from a trace that we wish to assert against. A selector can be very narrow, only selecting on one span, or very wide, selecting all spans or all spans of a certain type or other characteristics. Underlying this capability is a [selector language](./selectors). -### **What is a Check?** - +### What is a Check? A check is a logical verification that will be performed on all spans that match the selector. It is comprised of an attribute, a comparison operator and a value. -### **What is a Span Signature?** - +### What is a Span Signature? A span signature is an automatically computed selector that has enough elements to specify a single span. It uses a combination of attributes in the selected span to automatically build the selector. If a trace has multiple spans that are almost identical, the span signature may still match more than one span. You can alter the selector in this case to be more specific by adding other attributes or specifying an ancestor span. diff --git a/docs/docs/concepts/what-is-tracing.md b/docs/docs/concepts/what-is-tracing.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/docs/configuration/agent.mdx b/docs/docs/configuration/agent.mdx index 8bde8707b5..566f639b18 100644 --- a/docs/docs/configuration/agent.mdx +++ b/docs/docs/configuration/agent.mdx @@ -8,7 +8,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Tracetest Agent is a lightweight, dependency-free, agent that runs locally in your development environment, or as a Docker container in your Cloud Native infrastructure. diff --git a/docs/docs/configuration/config-file-reference.md b/docs/docs/configuration/config-file-reference.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/docs/configuration/connecting-to-data-stores/awsxray.md b/docs/docs/configuration/connecting-to-data-stores/awsxray.mdx similarity index 75% rename from docs/docs/configuration/connecting-to-data-stores/awsxray.md rename to docs/docs/configuration/connecting-to-data-stores/awsxray.mdx index ea9f959582..b41717f417 100644 --- a/docs/docs/configuration/connecting-to-data-stores/awsxray.md +++ b/docs/docs/configuration/connecting-to-data-stores/awsxray.mdx @@ -1,4 +1,15 @@ -# AWS X-Ray +--- +id: awsxray +title: AWS X-Ray +description: Use AWS X-Ray as the trace data store for Tracetest. You can use the native connection from Tracetest to pull telemetry data directly from any region. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you want to use [AWS X-Ray](https://aws.amazon.com/xray/) as the trace data store, you can use the native connection from Tracetest to pull telemetry data directly from any region. @@ -13,7 +24,7 @@ Configure Tracetest to be aware that it has to fetch trace data from X-Ray. Tracetest uses the Golang [AWS-SDK](https://aws.amazon.com/sdk-for-go/) library to pull to fetch trace data. :::tip -Need help configuring the OpenTelemetry Collector so send trace data from your application to AWS X-Ray? Read more in [the reference page here](../opentelemetry-collector-configuration-file-reference). +Need help configuring the OpenTelemetry Collector so send trace data from your application to AWS X-Ray? Read more in [the reference page here](/configuration/opentelemetry-collector-configuration-file-reference). ::: ## Connect Tracetest to X-Ray with the Web UI @@ -49,5 +60,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with AWS X-Ray and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-aws-x-ray.md). +To learn more, [read the recipe on running a sample app with AWS X-Ray and Tracetest](/examples-tutorials/recipes/running-tracetest-with-aws-x-ray). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/azure-app-insights.md b/docs/docs/configuration/connecting-to-data-stores/azure-app-insights.mdx similarity index 81% rename from docs/docs/configuration/connecting-to-data-stores/azure-app-insights.md rename to docs/docs/configuration/connecting-to-data-stores/azure-app-insights.mdx index 11df3f016a..d53f94701b 100644 --- a/docs/docs/configuration/connecting-to-data-stores/azure-app-insights.md +++ b/docs/docs/configuration/connecting-to-data-stores/azure-app-insights.mdx @@ -1,4 +1,15 @@ -# Azure App Insights +--- +id: azure-app-insights +title: Azure App Insights +description: Use Azure App Insights as the trace data store for Tracetest. You can use the native connection from Tracetest to pull telemetry data directly from any region. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you want to use [Azure App Insights](https://learn.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview) as the trace data store, you can use the native connection from Tracetest to pull telemetry data. @@ -46,7 +57,7 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Azure App Insights and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-azure-app-insights). +To learn more, [read the recipe on running a sample app with Azure App Insights and Tracetest](/examples-tutorials/recipes/running-tracetest-with-azure-app-insights). ::: ## OpenTelemetry Collector @@ -54,7 +65,7 @@ To learn more, [read the recipe on running a sample app with Azure App Insights You can configure Tracetest to listen for incoming telemetry data from ports `4317` and `4318` for gRPC and REST accordingly, giving you the option to stream the information to both Azure App Insights and Tracetest at the same time. :::tip -Need help configuring the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector-contrib) to send trace data from your application to Azure App Insights? Read more in [the reference page here](../opentelemetry-collector-configuration-file-reference). +Need help configuring the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector-contrib) to send trace data from your application to Azure App Insights? Read more in [the reference page here](/configuration/opentelemetry-collector-configuration-file-reference). ::: ### Tracetest OpenTelemetry Collector connection to Azure App Insights with the Web UI @@ -87,5 +98,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Azure App Insights, The OpenTelemetry Collector and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector.md). +To learn more, [read the recipe on running a sample app with Azure App Insights, The OpenTelemetry Collector and Tracetest](/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/datadog.md b/docs/docs/configuration/connecting-to-data-stores/datadog.mdx similarity index 86% rename from docs/docs/configuration/connecting-to-data-stores/datadog.md rename to docs/docs/configuration/connecting-to-data-stores/datadog.mdx index dac4e80d20..28be5ee1af 100644 --- a/docs/docs/configuration/connecting-to-data-stores/datadog.md +++ b/docs/docs/configuration/connecting-to-data-stores/datadog.mdx @@ -1,4 +1,15 @@ -# Datadog +--- +id: datadog +title: Datadog +description: Use Datadog as the trace data store for Tracetest. Configure the OpenTelemetry Collector to receive traces and forward them to both Tracetest and Datadog. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you want to use [Datadog](https://www.datadoghq.com/) as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and Datadog. And, you don't have to change your existing pipelines to do so. @@ -100,5 +111,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe for running a sample app with Datadog and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-datadog.md). +To learn more, [read the recipe for running a sample app with Datadog and Tracetest](/examples-tutorials/recipes/running-tracetest-with-datadog). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/dynatrace.md b/docs/docs/configuration/connecting-to-data-stores/dynatrace.mdx similarity index 88% rename from docs/docs/configuration/connecting-to-data-stores/dynatrace.md rename to docs/docs/configuration/connecting-to-data-stores/dynatrace.mdx index 59ab3af9c2..23b7f8aeba 100644 --- a/docs/docs/configuration/connecting-to-data-stores/dynatrace.md +++ b/docs/docs/configuration/connecting-to-data-stores/dynatrace.mdx @@ -1,4 +1,15 @@ -# Dynatrace +--- +id: dynatrace +title: Dynatrace +description: Use Dynatrace as the trace data store for Tracetest. Configure the OpenTelemetry Collector to receive traces and forward them to both Tracetest and Dynatrace. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you want to use [Dynatrace](https://www.dynatrace.com/) as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and Dynatrace. And, you don't have to change your existing pipelines to do so. @@ -70,7 +81,6 @@ Configure your Tracetest instance to expose an `otlp` endpoint to make it aware In the Web UI, (1) open Settings, and, on the (2) Configure Data Store tab, select (3) Dynatrace. - ![Dynatrace](../img/Dynatrace-settings.png) ## Connect Tracetest to Dynatrace with the CLI @@ -90,10 +100,3 @@ Proceed to run this command in the terminal and specify the file above. ```bash tracetest apply datastore -f my/data-store/file/location.yaml ``` - - diff --git a/docs/docs/configuration/connecting-to-data-stores/elasticapm.md b/docs/docs/configuration/connecting-to-data-stores/elasticapm.mdx similarity index 79% rename from docs/docs/configuration/connecting-to-data-stores/elasticapm.md rename to docs/docs/configuration/connecting-to-data-stores/elasticapm.mdx index 36793023ef..f5f70bd163 100644 --- a/docs/docs/configuration/connecting-to-data-stores/elasticapm.md +++ b/docs/docs/configuration/connecting-to-data-stores/elasticapm.mdx @@ -1,4 +1,15 @@ -# Elastic APM +--- +id: elasticapm +title: Elastic APM +description: Use Elasticsearch as the trace data store for Tracetest. You can use the native connection from Tracetest to pull telemetry data directly from Elasticsearch. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest fetches traces from [Elasticsearch's default port](https://discuss.elastic.co/t/what-are-ports-9200-and-9300-used-for/238578) `9200`. @@ -28,7 +39,7 @@ To configure Elastic APM you will need to download the CA certificate from the D - Alternatively, you can skip CA certificate validation by setting the `Enable TLS but don't verify the certificate` option. :::tip -Need help configuring the OpenTelemetry Collector so send trace data from your application to Elastic? Read more in [the reference page here](../opentelemetry-collector-configuration-file-reference). +Need help configuring the OpenTelemetry Collector so send trace data from your application to Elastic? Read more in [the reference page here](/configuration/opentelemetry-collector-configuration-file-reference). ::: ## Connect Tracetest to Elastic with the Web UI @@ -41,8 +52,6 @@ https://es01:9200 ![ElasticAPM](../img/ElasticAPM-settings.png) - - ## Connect Tracetest to Elastic with the CLI Or, if you prefer using the CLI, you can use this file config. @@ -69,5 +78,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Elastic APM and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-elasticapm.md). +To learn more, [read the recipe on running a sample app with Elastic APM and Tracetest](/examples-tutorials/recipes/running-tracetest-with-elasticapm). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/honeycomb.md b/docs/docs/configuration/connecting-to-data-stores/honeycomb.mdx similarity index 85% rename from docs/docs/configuration/connecting-to-data-stores/honeycomb.md rename to docs/docs/configuration/connecting-to-data-stores/honeycomb.mdx index 4d5fdb1978..c40ce059df 100644 --- a/docs/docs/configuration/connecting-to-data-stores/honeycomb.md +++ b/docs/docs/configuration/connecting-to-data-stores/honeycomb.mdx @@ -1,4 +1,15 @@ -# Honeycomb +--- +id: honeycomb +title: Honeycomb +description: Use Honeycomb as the trace data store for Tracetest. Configure the OpenTelemetry Collector to receive traces and forward them to both Tracetest and Honeycomb. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you want to use [Honeycomb](https://honeycomb.io/) as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and Honeycomb. And, you don't have to change your existing pipelines to do so. @@ -93,5 +104,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Honeycomb and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-honeycomb.md). +To learn more, [read the recipe on running a sample app with Honeycomb and Tracetest](/examples-tutorials/recipes/running-tracetest-with-honeycomb). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/jaeger.md b/docs/docs/configuration/connecting-to-data-stores/jaeger.mdx similarity index 74% rename from docs/docs/configuration/connecting-to-data-stores/jaeger.md rename to docs/docs/configuration/connecting-to-data-stores/jaeger.mdx index fa98798f10..0d657a8627 100644 --- a/docs/docs/configuration/connecting-to-data-stores/jaeger.md +++ b/docs/docs/configuration/connecting-to-data-stores/jaeger.mdx @@ -1,4 +1,15 @@ -# Jaeger +--- +id: jaeger +title: Jaeger +description: Use Jaeger as the trace data store for Tracetest. You can use the native connection from Tracetest to pull telemetry data directly from Jaeger. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest fetches traces from [Jaeger's gRPC Protobuf/gRPC QueryService](https://www.jaegertracing.io/docs/1.42/deployment/#query-service--ui) on port `16685`. @@ -13,7 +24,7 @@ Configure Tracetest to be aware that it has to fetch trace data from Jaeger. Tracetest uses [Jaeger's gRPC Protobuf/gRPC QueryService](https://www.jaegertracing.io/docs/1.42/deployment/#query-service--ui) on port `16685` to fetch trace data. :::tip -Need help configuring the OpenTelemetry Collector so send trace data from your application to Jaeger? Read more in [the reference page here](../opentelemetry-collector-configuration-file-reference)). +Need help configuring the OpenTelemetry Collector so send trace data from your application to Jaeger? Read more in [the reference page here](/configuration/opentelemetry-collector-configuration-file-reference). ::: ## Connect Tracetest to Jaeger with the Web UI @@ -26,8 +37,6 @@ jaeger:16685 ![Jaeger](../img/Jaeger-settings.png) - - ## Connect Tracetest to Jaeger with the CLI Or, if you prefer using the CLI, you can use this file config. @@ -51,5 +60,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Jaeger and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-jaeger.md). +To learn more, [read the recipe on running a sample app with Jaeger and Tracetest](/examples-tutorials/recipes/running-tracetest-with-jaeger). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/lightstep.md b/docs/docs/configuration/connecting-to-data-stores/lightstep.mdx similarity index 86% rename from docs/docs/configuration/connecting-to-data-stores/lightstep.md rename to docs/docs/configuration/connecting-to-data-stores/lightstep.mdx index e44fc471e4..d0de36549b 100644 --- a/docs/docs/configuration/connecting-to-data-stores/lightstep.md +++ b/docs/docs/configuration/connecting-to-data-stores/lightstep.mdx @@ -1,4 +1,15 @@ -# Lightstep +--- +id: lightstep +title: Lightstep +description: Use Lightstep as the trace data store for Tracetest. Configure the OpenTelemetry Collector to receive traces and forward them to both Tracetest and Lightstep. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you want to use [Lightstep](https://lightstep.com/) as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and Lightstep. And, you don't have to change your existing pipelines to do so. @@ -77,8 +88,6 @@ In the Web UI, (1) open Settings, and, on the (2) Configure Data Store tab, sele ![Lightstep](../img/Lightstep-settings.png) - - ## Connect Tracetest to Lightstep with the CLI Or, if you prefer using the CLI, you can use this file config. @@ -98,5 +107,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Lightstep and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-lightstep.md). +To learn more, [read the recipe on running a sample app with Lightstep and Tracetest](/examples-tutorials/recipes/running-tracetest-with-lightstep). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/new-relic.md b/docs/docs/configuration/connecting-to-data-stores/new-relic.mdx similarity index 87% rename from docs/docs/configuration/connecting-to-data-stores/new-relic.md rename to docs/docs/configuration/connecting-to-data-stores/new-relic.mdx index 64030d4b1a..7dc5e79b12 100644 --- a/docs/docs/configuration/connecting-to-data-stores/new-relic.md +++ b/docs/docs/configuration/connecting-to-data-stores/new-relic.mdx @@ -1,4 +1,15 @@ -# New Relic +--- +id: new-relic +title: New Relic +description: Use New Relic as the trace data store for Tracetest. Configure the OpenTelemetry Collector to receive traces and forward them to both Tracetest and New Relic. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- If you want to use [New Relic](https://newrelic.com/) as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and New Relic. And, you don't have to change your existing pipelines to do so. @@ -79,8 +90,6 @@ In the Web UI, (1) open Settings, and, on the (2) Configure Data Store tab, sele ![NewRelic](../img/New-Relic-settings.png) - - ## Connect Tracetest to New Relic with the CLI Or, if you prefer using the CLI, you can use this file config. @@ -100,5 +109,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with New Relic and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-new-relic.md). +To learn more, [read the recipe on running a sample app with New Relic and Tracetest](/examples-tutorials/recipes/running-tracetest-with-new-relic). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/opensearch.md b/docs/docs/configuration/connecting-to-data-stores/opensearch.mdx similarity index 75% rename from docs/docs/configuration/connecting-to-data-stores/opensearch.md rename to docs/docs/configuration/connecting-to-data-stores/opensearch.mdx index 285f252d7d..1986cffa41 100644 --- a/docs/docs/configuration/connecting-to-data-stores/opensearch.md +++ b/docs/docs/configuration/connecting-to-data-stores/opensearch.mdx @@ -1,4 +1,15 @@ -# OpenSearch +--- +id: opensearch +title: OpenSearch +description: Use OpenSearch as the trace data store for Tracetest. You can use the native connection from Tracetest to pull telemetry data directly from OpenSearch. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest fetches traces from [OpenSearch's default port](https://logz.io/blog/opensearch-tutorial-installation-configuration/#:~:text=This%20is%20because%20OpenSearch%20runs,use%20port%205601%20by%20default.) `9200`. @@ -20,7 +31,7 @@ The defaults can be: - **Address**: `http://opensearch:9200` :::tip -Need help configuring the OpenTelemetry Collector so send trace data from your application to OpenSearch? Read more in [the reference page here](../opentelemetry-collector-configuration-file-reference)). +Need help configuring the OpenTelemetry Collector so send trace data from your application to OpenSearch? Read more in [the reference page here](/configuration/opentelemetry-collector-configuration-file-reference). ::: ## Connect Tracetest to OpenSearch with the Web UI @@ -33,8 +44,6 @@ http://opensearch:9200 ![OpenSearch](../img/opensearch-settings.png) - - ## Connect Tracetest to OpenSearch with the CLI Or, if you prefer using the CLI, you can use this file config. @@ -58,5 +67,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with OpenSearch and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-opensearch.md). +To learn more, [read the recipe on running a sample app with OpenSearch and Tracetest](/examples-tutorials/recipes/running-tracetest-with-opensearch). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/opentelemetry-collector.md b/docs/docs/configuration/connecting-to-data-stores/opentelemetry-collector.mdx similarity index 84% rename from docs/docs/configuration/connecting-to-data-stores/opentelemetry-collector.md rename to docs/docs/configuration/connecting-to-data-stores/opentelemetry-collector.mdx index c4e350e0d1..35c4ce19e8 100644 --- a/docs/docs/configuration/connecting-to-data-stores/opentelemetry-collector.md +++ b/docs/docs/configuration/connecting-to-data-stores/opentelemetry-collector.mdx @@ -1,4 +1,15 @@ -# OpenTelemetry Collector +--- +id: opentelemetry-collector +title: OpenTelemetry Collector +description: Configure the OpenTelemetry Collector to receive traces and forward them to Tracetest. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest receives trace data on port `4317`. Tracetest's trace receiver endpoint might look like: @@ -66,7 +77,6 @@ In the Web UI, (1) open Settings, and, on the (2) Configure Data Store tab, sele ![OpenTelemetry](../img/open-telemetry-settings.png) - ## Connect Tracetest to OpenTelemetry Collector with the CLI @@ -87,5 +97,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with OpenTelemetry Collector and Tracetest](../../examples-tutorials/recipes/running-tracetest-without-a-trace-data-store.mdx). +To learn more, [read the recipe on running a sample app with OpenTelemetry Collector and Tracetest](/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/signalfx.md b/docs/docs/configuration/connecting-to-data-stores/signalfx.mdx similarity index 72% rename from docs/docs/configuration/connecting-to-data-stores/signalfx.md rename to docs/docs/configuration/connecting-to-data-stores/signalfx.mdx index f6642488eb..a53b0631aa 100644 --- a/docs/docs/configuration/connecting-to-data-stores/signalfx.md +++ b/docs/docs/configuration/connecting-to-data-stores/signalfx.mdx @@ -1,4 +1,15 @@ -# SignalFx +--- +id: signalfx +title: SignalFx +description: Use SignalFx as the trace data store for Tracetest. You can use the native connection from Tracetest to pull telemetry data directly from SignalFx. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest fetches traces from [SignalFx's realm and token](https://docs.splunk.com/Observability/references/organizations.html). @@ -11,7 +22,7 @@ Examples of configuring Tracetest can be found in the [`examples` folder of the Configure Tracetest to be aware that it has to fetch trace data from SignalFx. :::tip -Need help configuring the OpenTelemetry Collector so send trace data from your application to SignalFx? Read more in [the reference page here](../opentelemetry-collector-configuration-file-reference)). +Need help configuring the OpenTelemetry Collector so send trace data from your application to SignalFx? Read more in [the reference page here](/configuration/opentelemetry-collector-configuration-file-reference). ::: ## Connect Tracetest to SignalFx with the Web UI @@ -27,7 +38,6 @@ Follow this [guide](https://docs.splunk.com/Observability/references/organizatio ![SignalFX](../img/SignalFX-settings.png) - ## Connect Tracetest to SignalFx with the CLI diff --git a/docs/docs/configuration/connecting-to-data-stores/signoz.md b/docs/docs/configuration/connecting-to-data-stores/signoz.mdx similarity index 68% rename from docs/docs/configuration/connecting-to-data-stores/signoz.md rename to docs/docs/configuration/connecting-to-data-stores/signoz.mdx index 02f660083f..1708fb53a8 100644 --- a/docs/docs/configuration/connecting-to-data-stores/signoz.md +++ b/docs/docs/configuration/connecting-to-data-stores/signoz.mdx @@ -1,12 +1,23 @@ -# Signoz - -If you want to use [Signoz](https://signoz.io/) as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and Signoz. And, you don't have to change your existing pipelines to do so. +--- +id: signoz +title: SigNoz +description: Use SigNoz as the trace data store for Tracetest. Configure the OpenTelemetry Collector to receive traces and forward them to both Tracetest and SigNoz. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +If you want to use [SigNoz](https://signoz.io/) as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and Signoz. And, you don't have to change your existing pipelines to do so. :::tip -Examples of configuring Tracetest with Signoz can be found in the [`examples` folder of the Tracetest GitHub repo](https://github.com/kubeshop/tracetest/tree/main/examples). +Examples of configuring Tracetest with SigNoz can be found in the [`examples` folder of the Tracetest GitHub repo](https://github.com/kubeshop/tracetest/tree/main/examples). ::: -## Configuring OpenTelemetry Collector to Send Traces to both Signoz and Tracetest +## Configuring OpenTelemetry Collector to Send Traces to both SigNoz and Tracetest In your OpenTelemetry Collector config file: @@ -20,7 +31,7 @@ If you are running Tracetest with Docker, and Tracetest's service name is `trace Additionally, add another config: - Set the `exporter` to `otlp/signoz` -- Set the `endpoint` to your Signoz instance on port `4317` +- Set the `endpoint` to your SigNoz instance on port `4317` ```yaml # collector.config.yaml @@ -45,9 +56,9 @@ exporters: endpoint: tracetest:4317 # Send traces to Tracetest. Read more in docs here: https://docs.tracetest.io/configuration/connecting-to-data-stores/opentelemetry-collector tls: insecure: true - # OTLP for Signoz + # OTLP for SigNoz otlp/signoz: - endpoint: address-to-your-signoz-server:4317 # Send traces to Signoz. Read more in docs here: https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/#opentelemetry-collector-configuration + endpoint: address-to-your-signoz-server:4317 # Send traces to SigNoz. Read more in docs here: https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/#opentelemetry-collector-configuration tls: insecure: true service: @@ -56,31 +67,30 @@ service: receivers: [otlp] processors: [batch] exporters: [logging, otlp/tracetest] - traces/signoz: # Pipeline to send data to Signoz + traces/signoz: # Pipeline to send data to SigNoz receivers: [otlp] processors: [batch] exporters: [logging, otlp/signoz] ``` -## Configure Tracetest to Use Signoz as a Trace Data Store +## Configure Tracetest to Use SigNoz as a Trace Data Store Configure your Tracetest instance to expose an `otlp` endpoint to make it aware it will receive traces from the OpenTelemetry Collector. This will expose Tracetest's trace receiver on port `4317`. -## Connect Tracetest to Signoz with the Web UI +## Connect Tracetest to SigNoz with the Web UI -In the Web UI, (1) open Settings, and, on the (2) Configure Data Store tab, select (3) Signoz. +In the Web UI, (1) open Settings, and, on the (2) Configure Data Store tab, select (3) SigNoz. - -![Signoz](../img/Signoz-settings.png) +![SigNoz](../img/Signoz-settings.png) -## Connect Tracetest to Signoz with the CLI +## Connect Tracetest to SigNoz with the CLI Or, if you prefer using the CLI, you can use this file config. ```yaml type: DataStore spec: - name: Signoz pipeline + name: SigNoz pipeline type: signoz default: true ``` @@ -92,5 +102,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Signoz and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop.md). +To learn more, [read the recipe on running a sample app with SigNoz and Tracetest](/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop). ::: diff --git a/docs/docs/configuration/connecting-to-data-stores/tempo.md b/docs/docs/configuration/connecting-to-data-stores/tempo.mdx similarity index 87% rename from docs/docs/configuration/connecting-to-data-stores/tempo.md rename to docs/docs/configuration/connecting-to-data-stores/tempo.mdx index e33edbecd1..b9ca666bef 100644 --- a/docs/docs/configuration/connecting-to-data-stores/tempo.md +++ b/docs/docs/configuration/connecting-to-data-stores/tempo.mdx @@ -1,4 +1,15 @@ -# Tempo +--- +id: tempo +title: Grafana Tempo +description: Use Grafana Tempo as the trace data store for Tracetest. You can use the native connection from Tracetest to pull telemetry data directly from Tempo. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest fetches traces from [Tempo on the default gRPC port](https://grafana.com/docs/tempo/latest/configuration/#server) `9095`, or [default HTTP port](https://grafana.com/docs/tempo/latest/configuration/#server) `80`. @@ -63,7 +74,7 @@ Configure Tracetest to be aware that it has to fetch trace data from Tempo. Tracetest uses [Tempo's gRPC endpoint](https://grafana.com/docs/tempo/latest/configuration/#server) on port `9095` to fetch trace data. Alternatively, you can use Tempo's HTTP endpoint and default port `80`. :::tip -Need help configuring the OpenTelemetry Collector so send trace data from your application to Jaeger? Read more in [the reference page here](../opentelemetry-collector-configuration-file-reference)). +Need help configuring the OpenTelemetry Collector so send trace data from your application to Jaeger? Read more in [the reference page here](/configuration/opentelemetry-collector-configuration-file-reference). ::: ## Connect Tracetest to Tempo with the Web UI @@ -78,8 +89,6 @@ tempo:9095 ![Tempo](../img/Tempo-settings.png) - - If you are using Docker and the `HTTP` URL like in the screenshot below, use the service name as the hostname with port `80` or no specified port like this: ``` @@ -88,8 +97,6 @@ http://tempo ![Tempo](../img/Tempo-settings.png) - - ## Connect Tracetest to Tempo with the CLI Or, if you prefer using the CLI, you can use this file config. @@ -133,5 +140,5 @@ tracetest apply datastore -f my/data-store/file/location.yaml ``` :::tip -To learn more, [read the recipe on running a sample app with Tempo and Tracetest](../../examples-tutorials/recipes/running-tracetest-with-tempo.md). +To learn more, [read the recipe on running a sample app with Tempo and Tracetest](/examples-tutorials/recipes/running-tracetest-with-tempo). ::: diff --git a/docs/docs/configuration/demo.md b/docs/docs/configuration/demo.mdx similarity index 81% rename from docs/docs/configuration/demo.md rename to docs/docs/configuration/demo.mdx index 489d589c0a..46ac4237ec 100644 --- a/docs/docs/configuration/demo.md +++ b/docs/docs/configuration/demo.mdx @@ -1,4 +1,15 @@ -# Demo Settings +--- +id: demo +title: Demo Settings +description: Enable test examples for the Pokeshop Demo App or the OpenTelemetry Astronomy Shop Demo in Tracetest. Edit the demo settings in the Web UI and CLI. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest has the option to enable Test examples for our Pokeshop Demo App or the OpenTelemetry Astronomy Shop Demo. You will need an instance of those applications running alongside your Tracetest server to be able to use them. The demo settings can be adjusted both from the Tracetest UI and from the CLI. diff --git a/docs/docs/configuration/opentelemetry-collector-configuration-file-reference.md b/docs/docs/configuration/opentelemetry-collector-configuration-file-reference.mdx similarity index 85% rename from docs/docs/configuration/opentelemetry-collector-configuration-file-reference.md rename to docs/docs/configuration/opentelemetry-collector-configuration-file-reference.mdx index da3e849558..ac3948e7b0 100644 --- a/docs/docs/configuration/opentelemetry-collector-configuration-file-reference.md +++ b/docs/docs/configuration/opentelemetry-collector-configuration-file-reference.mdx @@ -1,4 +1,15 @@ -# OpenTelemetry Collector Configuration File Reference +--- +id: opentelemetry-collector-configuration-file-reference +title: OpenTelemetry Collector Configuration File Reference +description: This is a reference for using the OpenTelemetry Collector to send trace data from your application to any of Tracetest's supported trace data stores. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- This page contains a reference for using the OpenTelemetry Collector to send trace data from your application to any of Tracetest's supported trace data stores. @@ -12,18 +23,19 @@ Tracetest is designed to work with different trace data stores. To enable Tracet Currently, Tracetest supports the following data stores. Click on the respective data store to view configuration examples: -- [Jaeger](./connecting-to-data-stores/jaeger) -- [OpenSearch](./connecting-to-data-stores/opensearch) -- [Elastic APM](./connecting-to-data-stores/elasticapm) -- [SignalFX](./connecting-to-data-stores/signalfx) -- [Grafana Tempo](./connecting-to-data-stores/tempo) -- [Lightstep](./connecting-to-data-stores/lightstep) -- [New Relic](./connecting-to-data-stores/new-relic) -- [AWS X-Ray](./connecting-to-data-stores/awsxray.md) -- [Datadog](./connecting-to-data-stores/datadog) -- [Honeycomb](./connecting-to-data-stores/honeycomb.md) -- [Azure App Insights](./connecting-to-data-stores/azure-app-insights.md) -- [Dynatrace](./connecting-to-data-stores/dynatrace) +- [AWS X-Ray](/configuration/connecting-to-data-stores/awsxray) +- [Azure App Insights](/configuration/connecting-to-data-stores/azure-app-insights) +- [Datadog](/configuration/connecting-to-data-stores/datadog) +- [Dynatrace](/configuration/connecting-to-data-stores/dynatrace) +- [Elastic APM](/configuration/connecting-to-data-stores/elasticapm) +- [Grafana Tempo](/configuration/connecting-to-data-stores/tempo) +- [Honeycomb](/configuration/connecting-to-data-stores/honeycomb) +- [Jaeger](/configuration/connecting-to-data-stores/jaeger) +- [Lightstep](/configuration/connecting-to-data-stores/lightstep) +- [New Relic](/configuration/connecting-to-data-stores/new-relic) +- [OpenSearch](/configuration/connecting-to-data-stores/opensearch) +- [SignalFX](/configuration/connecting-to-data-stores/signalfx) +- [SigNoz](/configuration/connecting-to-data-stores/signoz) Continue reading below to learn how to configure the OpenTelemetry Collector to send trace data from your application to any of the trace data stores above. diff --git a/docs/docs/configuration/overview.mdx b/docs/docs/configuration/overview.mdx index 26256790b3..f78b59acd4 100644 --- a/docs/docs/configuration/overview.mdx +++ b/docs/docs/configuration/overview.mdx @@ -8,12 +8,12 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- There is one configuration option with Tracetest: -- [Agent configuration](./agent.mdx) to run it locally, in Docker, or Kubernetes. +- [Agent configuration](/configuration/agent) to run it locally, in Docker, or Kubernetes. ## Supported Trace Data Stores @@ -21,26 +21,26 @@ Tracetest is designed to work with different trace data stores. To enable Tracet Currently, Tracetest supports the following data stores. Click on the respective data store to view configuration examples: -- [AWS X-Ray](./connecting-to-data-stores/awsxray) -- [Azure App Insights](./connecting-to-data-stores/azure-app-insights.md) -- [Datadog](./connecting-to-data-stores/datadog) -- [Dynatrace](./connecting-to-data-stores/dynatrace) -- [Elastic APM](./connecting-to-data-stores/elasticapm) -- [Grafana Tempo](./connecting-to-data-stores/tempo) -- [Honeycomb](./connecting-to-data-stores/honeycomb) -- [Jaeger](./connecting-to-data-stores/jaeger) -- [Lightstep](./connecting-to-data-stores/lightstep) -- [New Relic](./connecting-to-data-stores/new-relic) -- [OpenSearch](./connecting-to-data-stores/opensearch) -- [OpenTelemetry Collector](./connecting-to-data-stores/opentelemetry-collector) -- [SignalFX](./connecting-to-data-stores/signalfx) -- [Signoz](./connecting-to-data-stores/signoz) +- [AWS X-Ray](/configuration/connecting-to-data-stores/awsxray) +- [Azure App Insights](/configuration/connecting-to-data-stores/azure-app-insights) +- [Datadog](/configuration/connecting-to-data-stores/datadog) +- [Dynatrace](/configuration/connecting-to-data-stores/dynatrace) +- [Elastic APM](/configuration/connecting-to-data-stores/elasticapm) +- [Grafana Tempo](/configuration/connecting-to-data-stores/tempo) +- [Honeycomb](/configuration/connecting-to-data-stores/honeycomb) +- [Jaeger](/configuration/connecting-to-data-stores/jaeger) +- [Lightstep](/configuration/connecting-to-data-stores/lightstep) +- [New Relic](/configuration/connecting-to-data-stores/new-relic) +- [OpenSearch](/configuration/connecting-to-data-stores/opensearch) +- [OpenTelemetry Collector](/configuration/connecting-to-data-stores/opentelemetry-collector) +- [SignalFX](/configuration/connecting-to-data-stores/signalfx) +- [Signoz](/configuration/connecting-to-data-stores/signoz) ## Using Tracetest without a Trace Data Store Another option is to send traces directly to Tracetest using the OpenTelemetry Collector. And, you don't have to change your existing pipelines to do so. -View [configuration for OpenTelemetry Collector](./connecting-to-data-stores/opentelemetry-collector.md) for more details. +View [configuration for OpenTelemetry Collector](/configuration/connecting-to-data-stores/opentelemetry-collector) for more details. ## Trace Data Store Configuration Examples diff --git a/docs/docs/configuration/sampling-tracetest-spans.md b/docs/docs/configuration/sampling-tracetest-spans.mdx similarity index 87% rename from docs/docs/configuration/sampling-tracetest-spans.md rename to docs/docs/configuration/sampling-tracetest-spans.mdx index 110ceb834b..7eedfd7b0b 100644 --- a/docs/docs/configuration/sampling-tracetest-spans.md +++ b/docs/docs/configuration/sampling-tracetest-spans.mdx @@ -1,4 +1,15 @@ -# Sampling Tracetest Spans +--- +id: sampling-tracetest-spans +title: Sampling Tracetest Spans +description: When running Tracetest in production, your test spans could not be sampled by your probabilistic sampler. Here's how to avoid sampling out Tracetest test spans. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Suppose you are considering Tracetest to run tests against a high-volume environment, such as production. In that case, you probably will hit some drawbacks, such as having your test spans not sampled by your probabilistic sampler. There are a couple of things that you can do to avoid those problems: diff --git a/docs/docs/configuration/test-runner.md b/docs/docs/configuration/test-runner.mdx similarity index 58% rename from docs/docs/configuration/test-runner.md rename to docs/docs/configuration/test-runner.mdx index df2c1c41a6..954aacc80a 100644 --- a/docs/docs/configuration/test-runner.md +++ b/docs/docs/configuration/test-runner.mdx @@ -1,4 +1,15 @@ -# Test Runner Settings +--- +id: test-runner +title: Test Runner Settings +description: The Test Runner settings configure the default behavior used when executing tests to determine whether to mark the test as passed or failed. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- The Test Runner settings allow you to configure the default behavior used when executing your tests to determine whether to mark the test as passed or failed. Only the enabled gates will be will be used to determine whether a test is passed or failed. @@ -8,7 +19,6 @@ In the Tracetest settings, on the **Test Runner** tab, select the default gates ![Test Runner](./img/test-runner-settings.png) -For a specific test, change the gates used when running that test from the **Automate** tab: +For a specific test, change the gates used when running that test from the **Automate** tab: ![Test Runner Settings in App](./img/test-runner-in-app.png) - diff --git a/docs/docs/configuration/trace-polling.md b/docs/docs/configuration/trace-polling.mdx similarity index 85% rename from docs/docs/configuration/trace-polling.md rename to docs/docs/configuration/trace-polling.mdx index 8a771d2291..b0e287c1a4 100644 --- a/docs/docs/configuration/trace-polling.md +++ b/docs/docs/configuration/trace-polling.mdx @@ -1,4 +1,15 @@ -# Trace Polling Settings +--- +id: trace-polling +title: Trace Polling Settings +description: Tracetest polls the trace data store to find and retrieve the trace that is generated by the current test run. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest currently has one algorithm for gathering the trace associated with a test which is based on periodic polling. We will be adding the ability to add multiple polling settings in the coming releases, as well as adding new polling strategies. Let us know as you have specific needs by [adding an issue](https://github.com/kubeshop/tracetest/issues/new/choose). diff --git a/docs/docs/configuration/tracetest-analyzer.md b/docs/docs/configuration/tracetest-analyzer.mdx similarity index 74% rename from docs/docs/configuration/tracetest-analyzer.md rename to docs/docs/configuration/tracetest-analyzer.mdx index d4fef720f8..a18f273d3b 100644 --- a/docs/docs/configuration/tracetest-analyzer.md +++ b/docs/docs/configuration/tracetest-analyzer.mdx @@ -1,9 +1,20 @@ -# Tracetest Analyzer Settings +--- +id: tracetest-analyzer +title: Tracetest Analyzer Settings +description: Tracetest Analyzer is provided in the Tracetest application to aid in the analysis of traces and easily pinpoint issues to speed up resolution. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- Tracetest Analyzer is provided in the Tracetest application to aid in the analysis of traces and easily pinpoint issues to speed up resolution. :::tip -[Read more about Tracetest Analyzer concepts here.](../analyzer/concepts.md) +[Read more about Tracetest Analyzer concepts here.](/analyzer/concepts) ::: ## Create a Test @@ -52,4 +63,4 @@ Here, you can also set the thresholds for `Otel Semantic Conventions`, `Common P ## Tracetest Analyzer in the CLI -You can use Tracetest Analyzer in the CLI to analyze per individual test. Visit the [Creating Transactions](../web-ui/creating-test-suites.md) page for details. +You can use Tracetest Analyzer in the CLI to analyze per individual test. Visit the [Creating Transactions](/web-ui/creating-test-suites) page for details. diff --git a/docs/docs/core/configuration/analytics.mdx b/docs/docs/core/configuration/analytics.mdx index 35d3106f59..19fab364d1 100644 --- a/docs/docs/core/configuration/analytics.mdx +++ b/docs/docs/core/configuration/analytics.mdx @@ -1,14 +1,14 @@ --- id: analytics title: Analytics Settings -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: To improve the end user experience and to help determine where to focus team resources to improve the tool, Tracetest collects analytics and telemetry information. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- To improve the end user experience and to help determine where to focus team resources to improve the tool, Tracetest collects analytics and telemetry information from the system. diff --git a/docs/docs/core/configuration/overview.mdx b/docs/docs/core/configuration/overview.mdx index c519868f4e..c22d381b50 100644 --- a/docs/docs/core/configuration/overview.mdx +++ b/docs/docs/core/configuration/overview.mdx @@ -1,39 +1,39 @@ --- id: overview title: Configuration -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: Tracetest Core configuration options include both Server and Provisioning on startup. This includes trace data stores as well. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- There are several configuration options with Tracetest Core: -- [Server configuration](./server) to set database connection information needed to connect to required PostgreSQL instance. -- [Provisioning configuration](./provisioning) to 'preload' the Tracetest server with resources when first running the Tracetest server. +- [Server configuration](/core/configuration/server) to set database connection information needed to connect to required PostgreSQL instance. +- [Provisioning configuration](/core/configuration/provisioning) to 'preload' the Tracetest server with resources when first running the Tracetest server. ## Supported Trace Data Stores Tracetest is designed to work with different trace data stores. To enable Tracetest to run end-to-end tests against trace data, you need to configure Tracetest to access trace data. -Currently, Tracetest supports the [following data stores](../../configuration/overview). +Currently, Tracetest supports the [following data stores](/configuration/overview). ## Configuring Tracetest Server -Tracetest has a configuration file to contain the minimal information needed to start the Tracetest server. See more at [Tracetest Server Configuration](./server). +Tracetest has a configuration file to contain the minimal information needed to start the Tracetest server. See more at [Tracetest Server Configuration](/core/configuration/server). -You can also provision the server when it first starts, configuring most aspects of your Tracetest server environment. This is useful in a CI/CD environment to preload and configure the server. See more at [Provisioning a Tracetest Server](./provisioning). +You can also provision the server when it first starts, configuring most aspects of your Tracetest server environment. This is useful in a CI/CD environment to preload and configure the server. See more at [Provisioning a Tracetest Server](/core/configuration/provisioning). Many of the server configuration settings can be set individually in the UI or via the CLI. See: -- [Trace Polling](../../configuration/trace-polling.md) -- [Test Runner](../../configuration/test-runner.md) -- [Demo Applications](../../configuration/demo.md) -- [Analytics](./analytics.mdx) -- [Telemetry](./telemetry.mdx) +- [Trace Polling](/configuration/trace-polling) +- [Test Runner](/configuration/test-runner) +- [Demo Applications](/configuration/demo) +- [Analytics](/core/configuration/analytics) +- [Telemetry](/core/configuration/telemetry) diff --git a/docs/docs/core/configuration/provisioning.mdx b/docs/docs/core/configuration/provisioning.mdx index 2f21ea4694..372680600e 100644 --- a/docs/docs/core/configuration/provisioning.mdx +++ b/docs/docs/core/configuration/provisioning.mdx @@ -1,14 +1,14 @@ --- id: provisioning title: Provisioning a Tracetest Server -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: Tracetest Core enables the Tracetest Server to be provisioned the first time a new Tracetest Server is installed and launched. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Tracetest allows a server to be provisioned the first time a new Tracetest server is installed and launched. Provisioning sets certain resources in the server to the specified values, allowing you to configure the server. It is convenient in a CI/CD flow where you want to launch a server with a specified configuration. diff --git a/docs/docs/core/configuration/server.mdx b/docs/docs/core/configuration/server.mdx index 65f3b63e01..30a1dde502 100644 --- a/docs/docs/core/configuration/server.mdx +++ b/docs/docs/core/configuration/server.mdx @@ -1,14 +1,14 @@ --- id: server title: Configuring the Tracetest Server -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: Tracetest Core requires a minimal configuration to be launched. Connect to a PostgreSQL database which is installed as part of the "tracetest server install" command. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Tracetest requires a very minimal configuration to be launched, needing just the connection information to connect with the PostgreSQL database which is installed as part of the server install. There are a couple of ways to provide this database connection information. @@ -60,4 +60,4 @@ You can also change the defaults for the Tracetest server, altering the port and - `TRACETEST_SERVER_HTTPPORT=11633` - `TRACETEST_SERVER_PATHPREFIX="/"` -You can also initialize the server with a number of resources the first time it is launched by using [provisioning](./provisioning). +You can also initialize the server with a number of resources the first time it is launched by using [provisioning](/core/configuration/provisioning). diff --git a/docs/docs/core/configuration/telemetry.mdx b/docs/docs/core/configuration/telemetry.mdx index 83f5dd38aa..2c298842d6 100644 --- a/docs/docs/core/configuration/telemetry.mdx +++ b/docs/docs/core/configuration/telemetry.mdx @@ -1,14 +1,14 @@ --- id: telemetry title: Telemetry -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: The Tracetest Core Server generates internal observability trace data. You can use this data to track test runs over time and gain observability of how the Tracetest Core Server is behaving. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- The Tracetest server generates internal observability trace data. You can use this data to track Tracetest test runs over time and gain observability of how the Tracetest server is behaving. @@ -17,9 +17,9 @@ The Tracetest team uses an observability-driven development approach in developi ## Configuring Tracetest Server Internal Telemetry -You can configure an exporter to send the trace data to an OpenTelemetry Collector and then store it safely in your trace data store for further historical analysis. View the [supported trace data stores](./overview#supported-trace-data-stores) for more guidance on setting them up. +You can configure an exporter to send the trace data to an OpenTelemetry Collector and then store it safely in your trace data store for further historical analysis. View the [supported trace data stores](/core/configuration/overview#supported-trace-data-stores) for more guidance on setting them up. -In the `tracetest-config.yaml` file, alongside the [configuration](./server.mdx) of connecting Tracetest to the Postgres instance, you can also define a `telemetry` and `server` section. +In the `tracetest-config.yaml` file, alongside the [configuration](/core/configuration/server) of connecting Tracetest to the Postgres instance, you can also define a `telemetry` and `server` section. With these two additional sections, you define an exporter where the Tracetest server's internal telemetry will be routed to. In the `telemetry` section, you define the endpoint of the OpenTelemetry Collector. And, in the `server` section you define which exporter the Tracetest server will use. diff --git a/docs/docs/core/configuration/upgrade.mdx b/docs/docs/core/configuration/upgrade.mdx index 37beb7856b..e967d28908 100644 --- a/docs/docs/core/configuration/upgrade.mdx +++ b/docs/docs/core/configuration/upgrade.mdx @@ -1,14 +1,14 @@ --- id: upgrade title: Upgrade Tracetest Version -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: This page explains how to upgrade the version of your Tracetest Core Server and CLI if their version are incompatible. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- This page explains how to upgrade the version of your Tracetest Server and CLI. diff --git a/docs/docs/core/deployment/docker.md b/docs/docs/core/deployment/docker.mdx similarity index 72% rename from docs/docs/core/deployment/docker.md rename to docs/docs/core/deployment/docker.mdx index 78724e8438..b1037c19ec 100644 --- a/docs/docs/core/deployment/docker.md +++ b/docs/docs/core/deployment/docker.mdx @@ -1,13 +1,23 @@ -# Docker Deployment - -This guide walks you through using the Tracetest CLI to deploy Tracetest with Docker. +--- +id: docker +title: Docker Deployment +description: Guides for deploying Tracetest Core with Docker. Tracetest Core allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- + +This guide walks you through using the Tracetest CLI to deploy Tracetest Core with Docker. :::note This is an example of a production-ready deployment, but real-world deployments can vary significantly depending on desired performance and scale. ::: -In this form, Tracetest runs in parallel to your Dockerized application, -allowing you to interact with your app and its traces, create and run tests over them, etc. +Tracetest Core runs in parallel with your Dockerized application, allowing you to interact with your app and its traces, including create and run tests against them. After installing the CLI, run: diff --git a/docs/docs/core/deployment/kubernetes.mdx b/docs/docs/core/deployment/kubernetes.mdx index d2ab2a6ba1..4ac0b73be6 100644 --- a/docs/docs/core/deployment/kubernetes.mdx +++ b/docs/docs/core/deployment/kubernetes.mdx @@ -1,28 +1,35 @@ -# Kubernetes Deployment - - +--- +id: kubernetes +title: Kubernetes Deployment +description: Guides for deploying Tracetest Core in Kubernetes. Tracetest Core allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - - -This guide walks you through deploying Tracetest with Kubernetes. +This guide walks you through deploying Tracetest Core in Kubernetes. :::note This is an example of a production-ready deployment, but real-world deployments can vary significantly depending on desired performance and scale. This setup is ideal for CI/CD environments and QA teams working in shared environments. You can use a remote or local ([minikube](https://minikube.sigs.k8s.io/docs/start/), [kind](https://kind.sigs.k8s.io/), [k3d](https://k3d.io/), etc) cluster. ::: -You have two options to install Tracetest on Kubernetes: +You have two options to install Tracetest Core in Kubernetes: -- Using the [Tracetest CLI](../getting-started/installation) to guide your installation +- Using the [Tracetest CLI](/core/getting-started/installation) to guide your installation - Using the official [Helm chart](https://github.com/kubeshop/helm-charts/tree/main/charts/tracetest) -First, install Tracetest CLI following the instructions on [Getting Started](../getting-started/installation#install-the-tracetest-cli). +First, install Tracetest CLI following the instructions on [Getting Started](/core/getting-started/installation#install-the-tracetest-cli). After installing the CLI, run: @@ -36,8 +43,6 @@ How do you want to run TraceTest? [type to search]: > Using Kubernetes ``` - - Select `Using Kubernetes` and follow the instructions. **Tools required (installed if missing)**: diff --git a/docs/docs/core/deployment/overview.md b/docs/docs/core/deployment/overview.mdx similarity index 68% rename from docs/docs/core/deployment/overview.md rename to docs/docs/core/deployment/overview.mdx index a4f5298a0c..e9faf59ab2 100644 --- a/docs/docs/core/deployment/overview.md +++ b/docs/docs/core/deployment/overview.mdx @@ -1,14 +1,23 @@ -# Deployment +--- +id: overview +title: Deployment +description: Guides for deploying Tracetest Core. Tracetest Core allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- This section contains a general overview of deploying Tracetest in production. You can find platform-specific guides for: -- [Docker](./docker) -- [Kubernetes](./kubernetes) +- [Docker](/core/deployment/docker) +- [Kubernetes](/core/deployment/kubernetes) As shown in the diagram below, a typical production Tracetest deployment consists of Postgres, an OpenTelemetry Colletor and a [trace data store](/configuration/overview.mdx). But, if you do not want to use a trace data store, you can rely entirely on OpenTelemetry Collector. - - ```mermaid flowchart TD A(("Tracetest")) @@ -48,4 +57,4 @@ postgres: Read more in the [configuration docs](/configuration/overview.mdx). -Or, continue reading to see how to run Tracetest in production with [Docker](./docker) or [Kubernetes](./kubernetes). +Or, continue reading to see how to run Tracetest Core in production with [Docker](/core/deployment/docker) or [Kubernetes](/core/deployment/kubernetes). diff --git a/docs/docs/core/getting-started/installation.mdx b/docs/docs/core/getting-started/installation.mdx index 8203bc5d55..9c69a837e1 100644 --- a/docs/docs/core/getting-started/installation.mdx +++ b/docs/docs/core/getting-started/installation.mdx @@ -1,14 +1,14 @@ --- id: installation title: Installing Tracetest Core -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +description: Get started with installing Tracetest Core. Tracetest Core allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- import Tabs from '@theme/Tabs'; @@ -18,14 +18,14 @@ import GtagInstallCliTabs from '@site/src/components/GtagInstallCliTabs'; This page showcases getting started with Tracetest Core by using the Tracetest CLI, Docker, or Kubernetes. -This simple installation includes a demo app called [Pokeshop](/live-examples/pokeshop/overview.md) that will be installed alongside Tracetest Core. It shows how to configure OpenTelemetry and Tracetest Core and the architecture of the Pokeshop sample app. +This simple installation includes a demo app called [Pokeshop](/live-examples/pokeshop/overview) that will be installed alongside Tracetest Core. It shows how to configure OpenTelemetry and Tracetest Core and the architecture of the Pokeshop sample app. ## Install the Tracetest CLI :::tip Want more info? -Read the CLI installation reference [here](/cli/cli-installation-reference.md). +Read the CLI installation reference [here](/cli/cli-installation-reference). ::: ## Install the Tracetest Server @@ -56,7 +56,7 @@ tracetest server install Using Kubernetes`} -Choose to install Tracetest with the OpenTelemetry Collector and the [Pokeshop](/live-examples/pokeshop/overview.md) sample app. +Choose to install Tracetest with the OpenTelemetry Collector and the [Pokeshop](/live-examples/pokeshop/overview) sample app. ```text title="Expected output:" Do you have OpenTelemetry based tracing already set up, or would you like us to install a demo tracing environment and app? [type to search]: @@ -67,7 +67,7 @@ Do you have OpenTelemetry based tracing already set up, or would you like us to Choosing any option, this installer will create a `tracetest` directory in the current directory and add a `docker-compose.yaml` file to it. - If you choose the first option, the `docker-compose.yaml` will have only Tracetest Core and its dependencies. -- **By choosing the second option, a sample app called [Pokeshop](/live-examples/pokeshop/overview.md) will be installed with Tracetest Core, allowing you to create sample tests right away!** +- **By choosing the second option, a sample app called [Pokeshop](/live-examples/pokeshop/overview) will be installed with Tracetest Core, allowing you to create sample tests right away!**
@@ -129,7 +129,7 @@ This will start the Tracetest Server and expose the Web UI on [`http://localhost > Using Kubernetes`} -Choose to install Tracetest Core with the OpenTelemetry Collector and the [Pokeshop](/live-examples/pokeshop/overview.md) sample app. +Choose to install Tracetest Core with the OpenTelemetry Collector and the [Pokeshop](/live-examples/pokeshop/overview) sample app. ```text title="Expected output:" Do you have OpenTelemetry based tracing already set up, or would you like us to install a demo tracing environment and app? [type to search]: @@ -140,7 +140,7 @@ Do you have OpenTelemetry based tracing already set up, or would you like us to Choosing any option, this installer will create a `tracetest` namespace in the Kubernetes context you choose and create deployments for Tracetest Core and its dependencies. - If you choose the first option, the `tracetest` namespace will only contain Tracetest Core and its dependencies. -- **By choosing the second option, a sample app called [Pokeshop](/live-examples/pokeshop/overview.md) will be installed in a `demo` namespace alongside Tracetest Core, allowing you to create sample tests right away!** +- **By choosing the second option, a sample app called [Pokeshop](/live-examples/pokeshop/overview) will be installed in a `demo` namespace alongside Tracetest Core, allowing you to create sample tests right away!**
@@ -239,7 +239,7 @@ First, be sure that you have [Docker](https://docker.com/) installed in your mac The Quick Start with the Pokeshop Sample App is located [here](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-pokeshop). -**The [`docker-compose.yaml`](https://github.com/kubeshop/tracetest/blob/main/examples/quick-start-pokeshop/docker-compose.yml) contains Tracetest Core, the OpenTelemetry Collector, and a sample app called [Pokeshop](/live-examples/pokeshop/overview.md). This allows you to create sample tests right away!** +**The [`docker-compose.yaml`](https://github.com/kubeshop/tracetest/blob/main/examples/quick-start-pokeshop/docker-compose.yml) contains Tracetest Core, the OpenTelemetry Collector, and a sample app called [Pokeshop](/live-examples/pokeshop/overview). This allows you to create sample tests right away!**
@@ -294,7 +294,7 @@ This will start the Tracetest Server and expose the Web UI on [`http://localhost :::tip Don't have OpenTelemetry installed? -Tracetest requires that you have [OpenTelemetry instrumentation](https://opentelemetry.io/docs/instrumentation/) added in your code, and configured [sending traces to a trace data store](/configuration/connecting-to-data-stores/jaeger.md), or [Tracetest directly](/configuration/connecting-to-data-stores/opentelemetry-collector.md). +Tracetest requires that you have [OpenTelemetry instrumentation](https://opentelemetry.io/docs/instrumentation/) added in your code, and configured [sending traces to a trace data store](/configuration/connecting-to-data-stores/jaeger), or [Tracetest directly](/configuration/connecting-to-data-stores/opentelemetry-collector). -[Follow these instructions to install OpenTelemetry in 5 minutes without any code changes!](/getting-started/no-otel.mdx) +[Follow these instructions to install OpenTelemetry in 5 minutes without any code changes!](/getting-started/no-otel) ::: diff --git a/docs/docs/core/getting-started/open.mdx b/docs/docs/core/getting-started/open.mdx index ddfec33c63..ba047c995b 100644 --- a/docs/docs/core/getting-started/open.mdx +++ b/docs/docs/core/getting-started/open.mdx @@ -1,14 +1,14 @@ --- id: open title: Opening Tracetest Core -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: Get started with opening Tracetest Core. Tracetest Core allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- This page showcases opening the Tracetest Web UI regardless if you used the Tracetest CLI, Docker, Kubernetes, or Helm to install Tracetest Server. @@ -31,7 +31,7 @@ You can create tests in two ways: This guide will show how to create end-to-end and integration tests in less than 5 minutes via the Web UI. :::note -To view the in-depth guide on creating tests visually, [check out this docs page](../../web-ui/creating-tests.md). +To view the in-depth guide on creating tests visually, [check out this docs page](/web-ui/creating-tests). ::: ### Create diff --git a/docs/docs/core/getting-started/overview.mdx b/docs/docs/core/getting-started/overview.mdx index dc95f619f0..b0f4fe72e7 100644 --- a/docs/docs/core/getting-started/overview.mdx +++ b/docs/docs/core/getting-started/overview.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Tracetest Core is an open-source, cloud-native application, packaged and distributed as a Docker image and designed to run in a containerized environment. diff --git a/docs/docs/examples-tutorials/overview.mdx b/docs/docs/examples-tutorials/overview.mdx index 3d7068928a..991241b9f7 100644 --- a/docs/docs/examples-tutorials/overview.mdx +++ b/docs/docs/examples-tutorials/overview.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg breadcrumb_label: Nothing --- diff --git a/docs/docs/examples-tutorials/recipes.mdx b/docs/docs/examples-tutorials/recipes.mdx index 1258cf028d..aafc0dd6cd 100644 --- a/docs/docs/examples-tutorials/recipes.mdx +++ b/docs/docs/examples-tutorials/recipes.mdx @@ -1,7 +1,7 @@ --- id: recipes title: 🍱 Recipes -description: Here you can find tutorials to help you get started with Tracetest. +description: Here you can find hands-on recipes of popular use-cases to get started with Tracetest. hide_table_of_contents: false keywords: - tracetest @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg breadcrumb_label: Nothing --- @@ -19,7 +19,7 @@ If you're already building something with Tracetest, explore these Recipes. They These recipes show how to trigger Tracetest test runs with message queues like Kafka. -- [Testing Kafka in a Go API with OpenTelemetry](./recipes/testing-kafka-go-api-with-opentelemetry-tracetest.mdx) +- [Testing Kafka in a Go API with OpenTelemetry](/examples-tutorials/recipes/testing-kafka-go-api-with-opentelemetry-tracetest) ## Trace Data Stores @@ -29,65 +29,65 @@ These recipes show integrations with trace data stores and tracing vendors/provi This integration point uses the OpenTelemetry Collector as a router to send trace data to Tracetest. -- [Sending traces directly to Tracetest from a Node.js app using OpenTelemetry Collector](./recipes/running-tracetest-without-a-trace-data-store.mdx) -- [Sending traces with manual instrumentation directly to Tracetest from a Node.js app using OpenTelemetry Collector](./recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation.md) -- [Sending traces with manual instrumentation directly to Tracetest from a Python app using OpenTelemetry Collector](./recipes/running-python-app-with-opentelemetry-collector-and-tracetest.md) +- [Sending traces directly to Tracetest from a Node.js app using OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store) +- [Sending traces with manual instrumentation directly to Tracetest from a Node.js app using OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation) +- [Sending traces with manual instrumentation directly to Tracetest from a Python app using OpenTelemetry Collector](/examples-tutorials/recipes/running-python-app-with-opentelemetry-collector-and-tracetest) ### OpenTelemetry Collector + Tracing Vendors This integration point uses the OpenTelemetry Collector as a router to send trace data to both Tracetest and tracing vendors/providers. -- [Sending traces to Lightstep and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](./recipes/running-tracetest-with-lightstep.md) -- [Sending traces to New Relic and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](./recipes/running-tracetest-with-new-relic.md) -- [Sending traces to Datadog and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](./recipes/running-tracetest-with-datadog.md) -- [Sending traces to Honeycomb and Tracetest from a Node.js app using the OpenTelemetry Collector](./recipes/running-tracetest-with-honeycomb.md) -- [Sending traces to Dynatrace and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](./recipes/running-tracetest-with-dynatrace.md) -- [Sending traces to SigNoz and Tracetest from the Pokeshop API with OpenTelemetry Collector](./recipes/running-tracetest-with-signoz-pokeshop.md) +- [Sending traces to Lightstep and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-with-lightstep) +- [Sending traces to New Relic and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-with-new-relic) +- [Sending traces to Datadog and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-with-datadog) +- [Sending traces to Honeycomb and Tracetest from a Node.js app using the OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-with-honeycomb) +- [Sending traces to Dynatrace and Tracetest from the OpenTelemetry Demo with OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-with-dynatrace) +- [Sending traces to SigNoz and Tracetest from the Pokeshop API with OpenTelemetry Collector](/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop) ### Jaeger -- [Sending traces to Jaeger from a Node.js app and fetching them from Jaeger with Tracetest](./recipes/running-tracetest-with-jaeger.md) -- [Running Tracetest on AWS Fargate with Terraform](./recipes/running-tracetest-with-aws-terraform.md) +- [Sending traces to Jaeger from a Node.js app and fetching them from Jaeger with Tracetest](/examples-tutorials/recipes/running-tracetest-with-jaeger) +- [Running Tracetest on AWS Fargate with Terraform](/examples-tutorials/recipes/running-tracetest-with-aws-terraform) ### OpenSearch -- [Sending traces to OpenSearch from a Node.js app and fetching them from OpenSearch with Tracetest](./recipes/running-tracetest-with-opensearch.md) +- [Sending traces to OpenSearch from a Node.js app and fetching them from OpenSearch with Tracetest](/examples-tutorials/recipes/running-tracetest-with-opensearch) ### Elastic -- [Sending traces to Elastic APM from a Node.js app and fetching them from Elasticsearch with Tracetest](./recipes/running-tracetest-with-elasticapm.md) +- [Sending traces to Elastic APM from a Node.js app and fetching them from Elasticsearch with Tracetest](/examples-tutorials/recipes/running-tracetest-with-elasticapm) ### Grafana Tempo -- [Sending traces to Tempo from a Node.js app and fetching them from Tempo with Tracetest](./recipes/running-tracetest-with-tempo.md) +- [Sending traces to Tempo from a Node.js app and fetching them from Tempo with Tracetest](/examples-tutorials/recipes/running-tracetest-with-tempo) ### AWS X-Ray -- [Running Tracetest with AWS X-Ray (AWS X-Ray Node.js SDK)](./recipes/running-tracetest-with-aws-x-ray.md) -- [Running Tracetest with AWS X-Ray (AWS X-Ray Node.js SDK & AWS Distro for OpenTelemetry)](./recipes/running-tracetest-with-aws-x-ray-adot.md) -- [Running Tracetest with AWS X-Ray (AWS Distro for OpenTelemetry & Pokeshop API)](./recipes/running-tracetest-with-aws-x-ray-pokeshop.md) -- [Running Tracetest with AWS Step Functions, AWS X-Ray and Terraform](./recipes/running-tracetest-with-step-functions-terraform.md) +- [Running Tracetest with AWS X-Ray (AWS X-Ray Node.js SDK)](/examples-tutorials/recipes/running-tracetest-with-aws-x-ray) +- [Running Tracetest with AWS X-Ray (AWS X-Ray Node.js SDK & AWS Distro for OpenTelemetry)](/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-adot) +- [Running Tracetest with AWS X-Ray (AWS Distro for OpenTelemetry & Pokeshop API)](/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-pokeshop) +- [Running Tracetest with AWS Step Functions, AWS X-Ray and Terraform](/examples-tutorials/recipes/running-tracetest-with-step-functions-terraform) ### Azure App Insights -- [Running Tracetest with Azure App Insights (AppInsights Otel Node.js SDK)](./recipes/running-tracetest-with-azure-app-insights.md) -- [Running Tracetest with Azure App Insights (Otel Node.js SDK & OpenTelemetry Collector)](./recipes/running-tracetest-with-azure-app-insights-collector.md) -- [Running Tracetest with Azure App Insights (OpenTelemetry Collector & Pokeshop API)](./recipes/running-tracetest-with-azure-app-insights-pokeshop.md) +- [Running Tracetest with Azure App Insights (AppInsights Otel Node.js SDK)](/examples-tutorials/recipes/running-tracetest-with-azure-app-insights) +- [Running Tracetest with Azure App Insights (Otel Node.js SDK & OpenTelemetry Collector)](/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector) +- [Running Tracetest with Azure App Insights (OpenTelemetry Collector & Pokeshop API)](/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-pokeshop) ## CI/CD Automation These guides show integrations with CI/CD tools. -- [GitHub Actions](../ci-cd-automation/github-actions-pipeline.md) -- [Testkube](../ci-cd-automation/testkube-pipeline.md) -- [Tekton](../ci-cd-automation/tekton-pipeline.md) +- [GitHub Actions](/ci-cd-automation/github-actions-pipeline) +- [Testkube](/ci-cd-automation/testkube-pipeline) +- [Tekton](/ci-cd-automation/tekton-pipeline) ## Tools These guides show integrations with other tools and vendors. -- [Running Tracetest with Testkube](../tools-and-integrations/testkube.md) -- [Running Tracetest with k6](../tools-and-integrations/k6.md) -- [Running Tracetest with Keptn](../tools-and-integrations/keptn.md) +- [Running Tracetest with Testkube](/tools-and-integrations/testkube) +- [Running Tracetest with k6](/tools-and-integrations/k6) +- [Running Tracetest with Keptn](/tools-and-integrations/keptn) Stay tuned! More recipes are coming soon. 🚀 diff --git a/docs/docs/examples-tutorials/recipes/running-python-app-with-opentelemetry-collector-and-tracetest.md b/docs/docs/examples-tutorials/recipes/running-python-app-with-opentelemetry-collector-and-tracetest.mdx similarity index 93% rename from docs/docs/examples-tutorials/recipes/running-python-app-with-opentelemetry-collector-and-tracetest.md rename to docs/docs/examples-tutorials/recipes/running-python-app-with-opentelemetry-collector-and-tracetest.mdx index 4b53532fa3..2c3b53bb66 100644 --- a/docs/docs/examples-tutorials/recipes/running-python-app-with-opentelemetry-collector-and-tracetest.md +++ b/docs/docs/examples-tutorials/recipes/running-python-app-with-opentelemetry-collector-and-tracetest.mdx @@ -1,4 +1,16 @@ -# Running a Python app with OpenTelemetry manual instrumention +--- +id: running-python-app-with-opentelemetry-collector-and-tracetest +title: Python with OpenTelemetry manual instrumention +description: Quick start how to configure a Python app to use OpenTelemetry instrumentation with traces, and Tracetest for enhancing your e2e and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-python) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-terraform.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-terraform.mdx similarity index 95% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-terraform.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-terraform.mdx index f482d309b7..6b133b6a9e 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-terraform.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-terraform.mdx @@ -1,7 +1,19 @@ -# Running Tracetest on AWS Fargate with Terraform +--- +id: running-tracetest-with-aws-terraform +title: Serverless Node.js and Jaeger with Terraform +description: Quick start on how to configure a Serverless Node.js app on AWS Lambda with OpenTelemetry traces and Tracetest for E2E and integration tests. Uses Jaeger as a trace data store and Terraform for infrastructure management. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note -[Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-aws-terraform-serverless) +[Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-aws-terraform-serverless) ::: [Tracetest](https://tracetest.io/) is a testing tool based on [OpenTelemetry](https://opentelemetry.io/) that allows you to test your distributed application. It allows you to use data from distributed traces generated by OpenTelemetry to validate and assert if your application has the desired behavior defined by your test definitions. diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-adot.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-adot.mdx similarity index 91% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-adot.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-adot.mdx index b9105959d9..0fca2e0d44 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-adot.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-adot.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with AWS X-Ray (AWS X-Ray Node.js SDK & AWS Distro for OpenTelemetry) +--- +id: running-tracetest-with-aws-x-ray-adot +title: Node.js with AWS X-Ray (Node.js SDK) and AWS Distro for OpenTelemetry +description: Quick start on how to configure a Node.js app with OpenTelemetry traces, AWS X-Ray as a trace data store, including AWS Distro for OpenTelemetry, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-amazon-x-ray-adot) @@ -10,7 +22,7 @@ [AWS Distro for OpenTelemetry (ADOT)](https://aws-otel.github.io/docs/getting-started/collector) is a secure, production-ready, AWS-supported distribution of the OpenTelemetry project. Part of the Cloud Native Computing Foundation, OpenTelemetry provides open source APIs, libraries and agents to collect distributed traces and metrics for application monitoring. -## Simple Node.js API with AWS X-Ray and Tracetest +## Sample Node.js API with AWS X-Ray (Node.js SDK), AWS Distro for OpenTelemetry and Tracetest This is a simple quick start guide on how to configure a Node.js app to use instrumentation with traces and Tracetest for enhancing your E2E and integration tests with trace-based testing. The infrastructure will use AWS X-Ray as the trace data store, the ADOT as a middleware and a Node.js app to generate the telemetry data. diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-pokeshop.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-pokeshop.mdx similarity index 94% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-pokeshop.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-pokeshop.mdx index 99b2f57d0c..1756c3fdcf 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-pokeshop.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray-pokeshop.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with AWS X-Ray (AWS Distro for OpenTelemetry & Pokeshop API) +--- +id: running-tracetest-with-aws-x-ray-pokeshop +title: Pokeshop API with AWS X-Ray (Node.js SDK) and AWS Distro for OpenTelemetry +description: Quick start on how to configure the Pokeshop API Demo with OpenTelemetry traces, AWS X-Ray as a trace data store, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-amazon-x-ray-pokeshop) @@ -12,7 +24,7 @@ [Pokeshop API](https://docs.tracetest.io/live-examples/pokeshop/overview) As a testing ground, the team at Tracetest has implemented a sample instrumented API around the [PokeAPI](https://pokeapi.co/). -## Pokeshop API with AWS X-Ray and Tracetest +## Pokeshop API Demo with AWS X-Ray (Node.js SDK), AWS Distro for OpenTelemetry and Tracetest This is a simple quick start guide on how to configure a fully instrumented API to be used with Tracetest for enhancing your E2E and integration tests with trace-based testing. The infrastructure will use AWS X-Ray as the trace data store, the ADOT as a middleware and the Pokeshop API to generate the telemetry data. diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray.mdx similarity index 92% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray.mdx index 9bac3b13df..f0ff3a08ce 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-aws-x-ray.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with AWS X-Ray (AWS X-Ray Node.js SDK) +--- +id: running-tracetest-with-aws-x-ray +title: Node.js and AWS X-Ray (Node.js SDK) +description: Quick start on how to configure a Node.js app with OpenTelemetry traces, AWS X-Ray as a trace data store, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-amazon-x-ray) @@ -8,7 +20,7 @@ [AWS X-Ray](https://aws.amazon.com/xray/) provides a complete view of requests as they travel through your application and filters visual data across payloads, functions, traces, services, APIs and more with no-code and low-code motions. -## Sample Node.js App with AWS X-Ray and Tracetest +## Sample Node.js App with AWS X-Ray (Node.js SDK) and Tracetest This is a simple quick start guide on how to configure a Node.js app to use instrumentation with traces and Tracetest for enhancing your E2E and integration tests with trace-based testing. The infrastructure will use AWS X-Ray as the trace data store and a Node.js app to generate the telemetry data. diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector.mdx similarity index 91% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector.mdx index 05b5cde52c..fd10d3623e 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-collector.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with Azure App Insights (Node.js + OpenTelemetry Collector) +--- +id: running-tracetest-with-azure-app-insights-collector +title: Node.js and Azure Application Insights with OpenTelemetry Collector +description: Quick start on how to configure a Node.js app with OpenTelemetry traces, Azure Application Insights as a trace data store, including the OpenTelemetry Collector, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-azure-app-insights-collector) @@ -13,7 +25,7 @@ [OpenTelemetry Collector Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) - The official OpenTelemetry Distribution for packages outside of the core collector. -## Sample Node.js App with Azure App Insights, The OpenTelemetry Collector and Tracetest +## Sample Node.js App with Azure Application Insights, OpenTelemetry Collector and Tracetest This is a simple quick start guide on how to configure a Node.js app to use instrumentation with traces and Tracetest for enhancing your E2E and integration tests with trace-based testing. The infrastructure will use Azure App Insights as the trace data store, the OpenTelemetry Collector to process and route the telemetry data and a Node.js app to generate it. diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-pokeshop.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-pokeshop.mdx similarity index 93% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-pokeshop.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-pokeshop.mdx index 5829e92fe7..9e8c93b5a8 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-pokeshop.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights-pokeshop.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with Azure App Insights (OpenTelemetry Collector & Pokeshop API) +--- +id: running-tracetest-with-azure-app-insights-pokeshop +title: Pokeshop API and Azure Application Insights with OpenTelemetry Collector +description: Quick start on how to configure the Pokeshop API Demo with OpenTelemetry traces, Azure Application Insights as a trace data store, including the OpenTelemetry Collector, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-azure-app-insights-pokeshop) @@ -15,7 +27,7 @@ [Pokeshop API](https://docs.tracetest.io/live-examples/pokeshop/overview) As a testing ground, the team at Tracetest has implemented a sample instrumented API around the [PokeAPI](https://pokeapi.co/). -## Pokeshop API with Azure App Insights and Tracetest +## Pokeshop API with Azure Application Insights, OpenTelemetry Collector and Tracetest This is a simple quick start guide on how to configure a fully instrumented API to be used with Tracetest for enhancing your E2E and integration tests with trace-based testing. The infrastructure will use Azure App Insights as the trace data store, the OpenTelemetry Collector as a middleware and the Pokeshop API to generate the telemetry data. @@ -31,7 +43,7 @@ The project is built with Docker Compose. ### 1. Pokeshop API -The Pokeshop API is a fully instrumented REST API that makes use of different services to mimic a real life scenario. Learn more about it, [here](../../live-examples/pokeshop/overview.md). +The Pokeshop API is a fully instrumented REST API that makes use of different services to mimic a real life scenario. Learn more about it, [here](/live-examples/pokeshop/overview). ### 2. Tracetest diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights.mdx similarity index 91% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights.mdx index ab6ccbddfe..4ebf57242b 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-azure-app-insights.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with Azure App Insights (ApplicationInsights Node.js SDK) +--- +id: running-tracetest-with-azure-app-insights +title: Node.js and Azure Application Insights (Node.js SDK) +description: Quick start on how to configure a Node.js app with OpenTelemetry traces, Azure Application Insights as a trace data store, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-azure-app-insights) @@ -11,7 +23,7 @@ - Proactively understand how an application is performing. - Reactively review application execution data to determine the cause of an incident. -## Sample Node.js App with Azure App Insights and Tracetest +## Sample Node.js App with Azure Application Insights and Tracetest This is a simple quick start guide on how to configure a Node.js app to use instrumentation with traces and Tracetest for enhancing your E2E and integration tests with trace-based testing. The infrastructure will use Azure App Insights as the trace data store and a Node.js app to generate the telemetry data. diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-datadog.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-datadog.mdx similarity index 96% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-datadog.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-datadog.mdx index 2f1c7f31cd..e3c250f1a9 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-datadog.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-datadog.mdx @@ -1,4 +1,16 @@ -# Running Tracetest With Datadog +--- +id: running-tracetest-with-datadog +title: OpenTelemetry Demo and Datadog +description: Quick start how to configure the OpenTelemetry Demo to use Tracetest for enhancing your E2E and integration tests with trace-based testing with Datadog as a trace data store. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-datadog) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-dynatrace.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-dynatrace.mdx similarity index 96% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-dynatrace.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-dynatrace.mdx index c0f67d6c2e..42ce128346 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-dynatrace.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-dynatrace.mdx @@ -1,4 +1,16 @@ -# Running Tracetest With Dynatrace +--- +id: running-tracetest-with-dynatrace +title: OpenTelemetry Demo and Dynatrace +description: Quick start how to configure the OpenTelemetry Demo to use Tracetest for enhancing your E2E and integration tests with trace-based testing with Dynatrace as a trace data store. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-dynatrace) @@ -244,7 +256,7 @@ receivers: - targets: ['0.0.0.0:8888'] processors: - batch: # this configuration is needed to guarantee that the data is sent correctly to Datadog + batch: # this configuration is needed to guarantee that the data is sent correctly to Dynatrace send_batch_max_size: 100 send_batch_size: 10 timeout: 10s diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-elasticapm.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-elasticapm.mdx similarity index 94% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-elasticapm.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-elasticapm.mdx index 0f9cca9051..1d681f7915 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-elasticapm.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-elasticapm.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with Elastic APM +--- +id: running-tracetest-with-elasticapm +title: Node.js and Elastic APM +description: Quick start on how to configure a Node.js app to use Elastic APM Agent with traces and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-elasticapm-with-elastic-agent) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-honeycomb.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-honeycomb.mdx similarity index 93% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-honeycomb.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-honeycomb.mdx index e704b35571..4a1a3a61f6 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-honeycomb.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-honeycomb.mdx @@ -1,4 +1,16 @@ -# Running Tracetest With Honeycomb +--- +id: running-tracetest-with-honeycomb +title: Node.js and Honeycomb +description: Quick start how to configure the OpenTelemetry Demo to use Tracetest for enhancing your E2E and integration tests with trace-based testing with Honeycomb as a trace data store. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-honeycomb) @@ -8,6 +20,10 @@ [Honeycomb](https://honeycomb.io/) is an observability solution that shows you the patterns and outliers of how users experience your code in complex and unpredictable environments. +## Node.js App with Honeycomb, OpenTelemetry and Tracetest + +This is a quick start on how to configure a Node.js app to use OpenTelemetry instrumentation with traces, and Tracetest for enhancing your E2E and integration tests with trace-based testing and Honeycomb as a trace data store. + ## Prerequisites You will need [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) installed on your machine to run this sample app! Additionally, you will need a Honeycomb account and api key. Sign up to use Honeycomb [here](https://ui.honeycomb.io/signup). diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-jaeger.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-jaeger.mdx similarity index 95% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-jaeger.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-jaeger.mdx index b5e72eb0d8..3f882bc551 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-jaeger.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-jaeger.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with Jaeger +--- +id: running-tracetest-with-jaeger +title: Node.js and Jaeger +description: Quick start on how to configure a Node.js app with OpenTelemetry traces, Jaeger as a trace data store, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-jaeger-nodejs) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-lightstep.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-lightstep.mdx similarity index 96% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-lightstep.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-lightstep.mdx index dd64382aa9..123d0acaf9 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-lightstep.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-lightstep.mdx @@ -1,4 +1,16 @@ -# Running Tracetest With Lightstep +--- +id: running-tracetest-with-lightstep +title: OpenTelemetry Demo and Lightstep +description: Quick start how to configure the OpenTelemetry Demo to use Tracetest for enhancing your E2E and integration tests with trace-based testing with Lightstep as a trace data store. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-lightstep) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-new-relic.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-new-relic.mdx similarity index 95% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-new-relic.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-new-relic.mdx index d73af65c03..5e1d80d0c0 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-new-relic.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-new-relic.mdx @@ -1,4 +1,16 @@ -# Running Tracetest With New Relic +--- +id: running-tracetest-with-new-relic +title: OpenTelemetry Demo and New Relic +description: Quick start how to configure the OpenTelemetry Demo to use Tracetest for enhancing your E2E and integration tests with trace-based testing with New Relic as a trace data store. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-new-relic) @@ -10,7 +22,7 @@ ## OpenTelemetry Demo `v0.3.4-alpha` with New Relic, OpenTelemetry and Tracetest -This is a simple sample app on how to configure the [OpenTelemetry Demo `v0.3.4-alpha`](https://github.com/open-telemetry/opentelemetry-demo) to use [Tracetest](https://tracetest.io/) for enhancing your E2E and integration tests with trace-based testing, and [New Relic](https://newrelic.com/) as a trace data store. +This is a simple sample app on how to configure the [OpenTelemetry Demo `v0.3.4-alpha`](https://github.com/open-telemetry/opentelemetry-demo) to use [Tracetest](https://tracetest.io/) for enhancing your E2E and integration tests with trace-based testing and [New Relic](https://newrelic.com/) as a trace data store. ## Prerequisites diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-opensearch.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-opensearch.mdx similarity index 95% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-opensearch.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-opensearch.mdx index f7af768cd4..28f457ff29 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-opensearch.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-opensearch.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with OpenSearch +--- +id: running-tracetest-with-opensearch +title: Node.js and OpenSearch +description: Quick start on how to configure a Node.js app with OpenTelemetry traces, OpenSearch as a trace data store, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-opensearch-nodejs) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop.mdx similarity index 97% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop.mdx index 1930469218..c11c3f6173 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-signoz-pokeshop.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with SigNoz (OpenTelemetry Collector & Pokeshop API) +--- +id: running-tracetest-with-signoz-pokeshop +title: Pokeshop API and SigNoz +description: Quick start how to configure the Pokeshop API Demo to use Tracetest for enhancing your E2E and integration tests with trace-based testing with SigNoz as a trace data store. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-signoz-pokeshop) @@ -10,7 +22,7 @@ [Pokeshop API](https://docs.tracetest.io/live-examples/pokeshop/overview) is a testing ground, the team at Tracetest has implemented a sample instrumented API around the [PokeAPI](https://pokeapi.co/). -## Pokeshop API with SigNoz and Tracetest +## Pokeshop API with SigNoz, OpenTelemetry and Tracetest This is a simple quick start guide on how to configure a fully instrumented API to be used with Tracetest for enhancing your E2E and integration tests with trace-based testing. The infrastructure will use SigNoz as the trace data store and the Pokeshop API to generate the telemetry data. diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-step-functions-terraform.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-step-functions-terraform.mdx similarity index 93% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-step-functions-terraform.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-step-functions-terraform.mdx index cab3ca27a7..e6fe8b0922 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-step-functions-terraform.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-step-functions-terraform.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with AWS Step Functions, AWS X-Ray and Terraform +--- +id: running-tracetest-with-step-functions-terraform +title: .NET Step Functions with AWS X-Ray, AWS Distro for OpenTelemetry, and Terraform +description: Quick start on how to configure .NET step functions with OpenTelemetry traces, AWS X-Ray as a trace data store, including AWS Distro for OpenTelemetry, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/tracetest-aws-step-functions) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-with-tempo.md b/docs/docs/examples-tutorials/recipes/running-tracetest-with-tempo.mdx similarity index 95% rename from docs/docs/examples-tutorials/recipes/running-tracetest-with-tempo.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-with-tempo.mdx index 8eb2c964f5..4ebc6b044f 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-with-tempo.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-with-tempo.mdx @@ -1,4 +1,16 @@ -# Running Tracetest with Tempo +--- +id: running-tracetest-with-tempo +title: Node.js and Grafana Tempo +description: Quick start on how to configure a Node.js app with OpenTelemetry traces, Grafana Tempo as a trace data store, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-tempo-nodejs) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation.md b/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation.mdx similarity index 95% rename from docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation.md rename to docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation.mdx index 87bfc0e12c..0c0aa6f5b9 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation.md +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store-with-manual-instrumentation.mdx @@ -1,4 +1,16 @@ -# Running Tracetest without a Trace Data Store with Manual Instrumentation +--- +id: running-tracetest-without-a-trace-data-store-with-manual-instrumentation +title: Node.js and OpenTelemetry Manual Instrumentation +description: Quick start how to configure a Node.js app to use OpenTelemetry manual instrumentation with traces, and Tracetest for enhancing your E2E and integration tests with trace-based testing. +hide_table_of_contents: false +keywords: + - tracetest + - trace-based testing + - observability + - distributed tracing + - testing +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg +--- :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-nodejs-manual-instrumentation) diff --git a/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store.mdx b/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store.mdx index 8c5831add9..207650d6d2 100644 --- a/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store.mdx +++ b/docs/docs/examples-tutorials/recipes/running-tracetest-without-a-trace-data-store.mdx @@ -1,7 +1,7 @@ --- id: running-tracetest-without-a-trace-data-store -title: Running Tracetest without a Trace Data Store -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +title: Node.js and OpenTelemetry +description: Quick start how to configure a Node.js app to use OpenTelemetry instrumentation with traces, and Tracetest for enhancing your E2E and integration tests with trace-based testing. hide_table_of_contents: true keywords: - tracetest @@ -9,14 +9,13 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import CodeBlock from '@theme/CodeBlock'; - :::note [Check out the source code on GitHub here.](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-nodejs) ::: diff --git a/docs/docs/examples-tutorials/recipes/testing-kafka-go-api-with-opentelemetry-tracetest.mdx b/docs/docs/examples-tutorials/recipes/testing-kafka-go-api-with-opentelemetry-tracetest.mdx index 163f7cddd5..0448727428 100644 --- a/docs/docs/examples-tutorials/recipes/testing-kafka-go-api-with-opentelemetry-tracetest.mdx +++ b/docs/docs/examples-tutorials/recipes/testing-kafka-go-api-with-opentelemetry-tracetest.mdx @@ -1,7 +1,7 @@ --- id: testing-kafka-go-api-with-opentelemetry-tracetest title: Testing Kafka in a Go API with OpenTelemetry and Tracetest -description: Use Tracetest to run trace-based tests against Kafka in a Go API. +description: Quick start how to configure two Go APIs to communicate via Kafka. They use OpenTelemetry instrumentation with traces, Jaeger as a trace data store, and Tracetest for enhancing your E2E and integration tests with trace-based testing. hide_table_of_contents: false keywords: - tracetest @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- :::note diff --git a/docs/docs/examples-tutorials/tutorials.mdx b/docs/docs/examples-tutorials/tutorials.mdx index c39c0674f3..321cafc8bb 100644 --- a/docs/docs/examples-tutorials/tutorials.mdx +++ b/docs/docs/examples-tutorials/tutorials.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg breadcrumb_label: Nothing --- diff --git a/docs/docs/examples-tutorials/videos.mdx b/docs/docs/examples-tutorials/videos.mdx index fd3b665aca..d65edd3445 100644 --- a/docs/docs/examples-tutorials/videos.mdx +++ b/docs/docs/examples-tutorials/videos.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg breadcrumb_label: Nothing --- diff --git a/docs/docs/examples-tutorials/webinars.mdx b/docs/docs/examples-tutorials/webinars.mdx index 1038c362c9..bbe387aefb 100644 --- a/docs/docs/examples-tutorials/webinars.mdx +++ b/docs/docs/examples-tutorials/webinars.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg breadcrumb_label: Nothing --- diff --git a/docs/docs/getting-started/installation.mdx b/docs/docs/getting-started/installation.mdx index a79c2ad6e4..1538f6833c 100644 --- a/docs/docs/getting-started/installation.mdx +++ b/docs/docs/getting-started/installation.mdx @@ -1,14 +1,14 @@ --- id: installation title: Installing Tracetest -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. +description: Get started by installing Tracetest! Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- import Tabs from '@theme/Tabs'; diff --git a/docs/docs/getting-started/no-otel.mdx b/docs/docs/getting-started/no-otel.mdx index 082119130a..074af2c5bd 100644 --- a/docs/docs/getting-started/no-otel.mdx +++ b/docs/docs/getting-started/no-otel.mdx @@ -2,14 +2,14 @@ id: no-otel title: What if I don't have OpenTelemetry installed? hide_table_of_contents: true -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to install OpenTelemetry in less than 5 minutes. +description: Don't have OpenTelemetry instrumentation added in your codebase? Here's how to get started! keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- # What if I don't have OpenTelemetry installed? diff --git a/docs/docs/getting-started/open.mdx b/docs/docs/getting-started/open.mdx index a3fc806619..a532dd8dc9 100644 --- a/docs/docs/getting-started/open.mdx +++ b/docs/docs/getting-started/open.mdx @@ -1,17 +1,17 @@ --- id: open title: Opening Tracetest -description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. +description: Get started with creating tests by opening Tracetest! Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest. keywords: - tracetest - trace-based testing - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- -This page showcases opening the Tracetest Web UI and creating a test against the [sample Pokeshop API](../live-examples/pokeshop/overview.md). +This page showcases opening the Tracetest Web UI and creating a test against the [sample Pokeshop API](/live-examples/pokeshop/overview). Once you've installed Tracetest, as explained in the [installation guide](./installation.mdx), the Tracetest Agent is running on `localhost` ports `4317` and `4318`. You then access the Tracetest Web UI on [`app.tracetest.io`](https://app.tracetest.io). Here's what will greet you after a fresh install. @@ -113,7 +113,7 @@ You can create tests in two ways: This guide will show how to create end-to-end and integration tests in less than 5 minutes via the Web UI. :::note -To view the in-depth guide on creating tests visually, [check out this docs page](../web-ui/creating-tests.md). +To view the in-depth guide on creating tests visually, [check out this docs page](/web-ui/creating-tests). ::: ### Create diff --git a/docs/docs/getting-started/overview.mdx b/docs/docs/getting-started/overview.mdx index bb7bf551e5..6e18e43a62 100644 --- a/docs/docs/getting-started/overview.mdx +++ b/docs/docs/getting-started/overview.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg --- Tracetest is a cloud-native application, packaged and distributed as a Docker image and designed to run in a containerized environment. diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 85eb73fab9..49911038a3 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -9,7 +9,7 @@ keywords: - observability - distributed tracing - testing -image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png +image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg breadcrumb_label: Nothing --- diff --git a/docs/docs/live-examples/opentelemetry-store/use-cases/add-item-into-shopping-cart.md b/docs/docs/live-examples/opentelemetry-store/use-cases/add-item-into-shopping-cart.md index feda9da4e3..d7dcf0a0d5 100644 --- a/docs/docs/live-examples/opentelemetry-store/use-cases/add-item-into-shopping-cart.md +++ b/docs/docs/live-examples/opentelemetry-store/use-cases/add-item-into-shopping-cart.md @@ -35,7 +35,7 @@ It should return a payload similar to this: ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will execute an API call on `POST /api/cart` and validate the following properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will execute an API call on `POST /api/cart` and validate the following properties: - The correct ProductID was sent to the Product Catalog API. - The product persisted correctly on the shopping cart. @@ -46,7 +46,7 @@ Running these tests for the first time will create an Observability trace like t ### Assertions -With this trace, now we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate the properties: +With this trace, now we can build [assertions](/concepts/assertions) on Tracetest and validate the properties: - **The correct ProductID was sent to the Product Catalog API.** ![](../images/add-item-into-shopping-cart-api-test-spec.png) diff --git a/docs/docs/live-examples/opentelemetry-store/use-cases/check-shopping-cart-contents.md b/docs/docs/live-examples/opentelemetry-store/use-cases/check-shopping-cart-contents.md index 68e13a2acd..702da0da2d 100644 --- a/docs/docs/live-examples/opentelemetry-store/use-cases/check-shopping-cart-contents.md +++ b/docs/docs/live-examples/opentelemetry-store/use-cases/check-shopping-cart-contents.md @@ -40,7 +40,7 @@ If it is the first time that you are calling this endpoint, to see an item into ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will execute an API call on `GET /api/cart?sessionId={some-uuid}&currecyCode=` and validate the following properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will execute an API call on `GET /api/cart?sessionId={some-uuid}&currecyCode=` and validate the following properties: - The product ID `66VCHSJNUP`, previously added, exists in the cart. - The size of the shopping cart should be 1. @@ -51,7 +51,7 @@ Running these tests for the first time will create an Observability trace like t ### Assertions -With this trace, now we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate the properties: +With this trace, now we can build [assertions](/concepts/assertions) on Tracetest and validate the properties: - **The product ID `66VCHSJNUP`, previously added, exists in the cart.** ![](../images/check-shopping-cart-contents-product-catalog.png) diff --git a/docs/docs/live-examples/opentelemetry-store/use-cases/checkout.md b/docs/docs/live-examples/opentelemetry-store/use-cases/checkout.md index 841b9ddfb7..089602a8c0 100644 --- a/docs/docs/live-examples/opentelemetry-store/use-cases/checkout.md +++ b/docs/docs/live-examples/opentelemetry-store/use-cases/checkout.md @@ -57,7 +57,7 @@ If it is the first time that you are calling this endpoint, to see an item into ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will execute an API call on `POST /api/cart` and validate the following properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will execute an API call on `POST /api/cart` and validate the following properties: - An order was placed. - The user was charged. - The product was shipped. @@ -70,7 +70,7 @@ Running these tests for the first time will create an Observability trace like t ### Assertions -With this trace, now we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate the properties: +With this trace, now we can build [assertions](/concepts/assertions) on Tracetest and validate the properties: - **An order was placed.** ![](../images/checkout-api-test-spec.png) diff --git a/docs/docs/live-examples/opentelemetry-store/use-cases/get-recommended-products.md b/docs/docs/live-examples/opentelemetry-store/use-cases/get-recommended-products.md index 3223d25615..8f4b2d15fd 100644 --- a/docs/docs/live-examples/opentelemetry-store/use-cases/get-recommended-products.md +++ b/docs/docs/live-examples/opentelemetry-store/use-cases/get-recommended-products.md @@ -32,7 +32,7 @@ You can trigger this use case by calling the endpoint `GET /api/recommendations? ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will execute an API call on `GET /api/recommendations?productIds=&sessionId={some-uuid}¤cyCode=` and validate the following properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will execute an API call on `GET /api/recommendations?productIds=&sessionId={some-uuid}¤cyCode=` and validate the following properties: - It should have 4 products on this list. - The feature flagger should be called for one product. @@ -43,7 +43,7 @@ Running these tests for the first time will create an Observability trace like t ### Assertions -With this trace, now we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate the properties: +With this trace, now we can build [assertions](/concepts/assertions) on Tracetest and validate the properties: - **It should have 4 products on this list.** ![](../images/get-recommended-products-get-product-test-spec.png) diff --git a/docs/docs/live-examples/opentelemetry-store/use-cases/user-purchasing-products.md b/docs/docs/live-examples/opentelemetry-store/use-cases/user-purchasing-products.md index 1e9c30817b..1c113bb21a 100644 --- a/docs/docs/live-examples/opentelemetry-store/use-cases/user-purchasing-products.md +++ b/docs/docs/live-examples/opentelemetry-store/use-cases/user-purchasing-products.md @@ -18,11 +18,11 @@ So in this case, we need to trigger four tests in sequence to achieve test the e ## Building a Test Suite for This Scenario -Using Tracetest, we can do that by [creating a test](../../../web-ui/creating-tests.md) for each step and later grouping these tests as [Test Suites](../../../web-ui/creating-test-suites.md) that have an [variable set](../../../concepts/variable-sets.md)]. - -We can do that by creating the tests and Test Suites through the Web UI or using the CLI. In this example, we will use the CLI to create a Variable Set and then create the Test Suite with all tests needed. The [assertions](../../../concepts/assertions.md) that we will check are the same for every single test. +Using Tracetest, we can do that by [creating a test](/web-ui/creating-tests) for each step and later grouping these tests as [Test Suites](/web-ui/creating-test-suites) that have an [variable set](/concepts/variable-sets). -### Mapping Environment Variables +We can do that by creating the tests and Test Suites through the Web UI or using the CLI. In this example, we will use the CLI to create a Variable Set and then create the Test Suite with all tests needed. The [assertions](/concepts/assertions) that we will check are the same for every single test. + +### Mapping Environment Variables The first thing that we need to think about is to map the variables that are needed in this process. At first glance, we can identify the vars to the API address and the user ID: With these variables, we can create the following definition file as saving as `user-buying-products.env`: diff --git a/docs/docs/live-examples/pokeshop/use-cases/add-pokemon.md b/docs/docs/live-examples/pokeshop/use-cases/add-pokemon.md index b664ea8194..5bb5c0cbf7 100644 --- a/docs/docs/live-examples/pokeshop/use-cases/add-pokemon.md +++ b/docs/docs/live-examples/pokeshop/use-cases/add-pokemon.md @@ -43,7 +43,8 @@ It should return the following payload: ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will execute an API call on `POST /pokemon` and validate two properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will execute an API call on `POST /pokemon` and validate two properties: + - The API should return a proper result with **HTTP 201 Created**. - The database should return with **low latency (< 200ms)**. @@ -54,7 +55,7 @@ Running these tests for the first time will create an Observability trace like t ### Assertions -With this trace, now we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate the API response and the database latency: +With this trace, now we can build [assertions](/concepts/assertions) on Tracetest and validate the API response and the database latency: - **The API should return a proper result with HTTP 201 Created:** ![](../images/add-pokemon-api-test-spec.png) diff --git a/docs/docs/live-examples/pokeshop/use-cases/get-pokemon-by-id.md b/docs/docs/live-examples/pokeshop/use-cases/get-pokemon-by-id.md index e875ee1eb5..ea616d340a 100644 --- a/docs/docs/live-examples/pokeshop/use-cases/get-pokemon-by-id.md +++ b/docs/docs/live-examples/pokeshop/use-cases/get-pokemon-by-id.md @@ -40,7 +40,8 @@ You can trigger this use case by calling the endpoint `GET /pokemon/25` without ## Building a Test for the Described Scenarios -Using Tracetest, we can [create two tests](../../../web-ui/creating-tests.md) that will execute an API call on `GET /pokemon/25` and validate the following scenarios: +Using Tracetest, we can [create two tests](/web-ui/creating-tests) that will execute an API call on `GET /pokemon/25` and validate the following scenarios: + 1. **An API call with a cache hit.** - The API should return a valid result with HTTP 200 OK. - The cache should be queried. @@ -63,7 +64,7 @@ Running these tests for the first time will create an Observability trace with t ### Assertions -With this trace, we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate API, cache, and database responses: +With this trace, we can build [assertions](/concepts/assertions) on Tracetest and validate API, cache, and database responses: - [Both Cases] The API should return a valid result with HTTP 200 OK. ![](../images/get-pokemon-by-id-api-test-spec.png) diff --git a/docs/docs/live-examples/pokeshop/use-cases/import-pokemon-from-stream.md b/docs/docs/live-examples/pokeshop/use-cases/import-pokemon-from-stream.md index 0db2264215..19595bcde1 100644 --- a/docs/docs/live-examples/pokeshop/use-cases/import-pokemon-from-stream.md +++ b/docs/docs/live-examples/pokeshop/use-cases/import-pokemon-from-stream.md @@ -28,7 +28,7 @@ You can trigger this use case by sending a message to Kafka on the `pokemon` top ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will produce a message to Kafka on `pokemon` topic and validate the following properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will produce a message to Kafka on `pokemon` topic and validate the following properties: - The worker should read the import task. - PokeAPI should return a valid response. - The database should respond with low latency (< 200ms). @@ -41,7 +41,7 @@ Running these tests for the first time will create a distributed trace like the ### Assertions -With this trace, we can build [assertions](../../../concepts/assertions.md) with Tracetest and validate the API and Worker behavior: +With this trace, we can build [assertions](/concepts/assertions) with Tracetest and validate the API and Worker behavior: - **A message was received from Kafka stream:** ![](../images/import-pokemon-from-stream-message-received.png) diff --git a/docs/docs/live-examples/pokeshop/use-cases/import-pokemon.md b/docs/docs/live-examples/pokeshop/use-cases/import-pokemon.md index 06fdbe4575..b968dca90f 100644 --- a/docs/docs/live-examples/pokeshop/use-cases/import-pokemon.md +++ b/docs/docs/live-examples/pokeshop/use-cases/import-pokemon.md @@ -61,7 +61,7 @@ It should return the following payload: ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will execute an API call on `POST /pokemon/import` and validate the following properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will execute an API call on `POST /pokemon/import` and validate the following properties: - The API should enqueue an import task and return HTTP 200 OK. - The worker should dequeue the import task. - PokeAPI should return a valid response. @@ -75,7 +75,7 @@ Running these tests for the first time will create an Observability trace like t ### Assertions -With this trace, we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate the API and Worker behaviors: +With this trace, we can build [assertions](/concepts/assertions) on Tracetest and validate the API and Worker behaviors: - **The API should enqueue an import task and return HTTP 200 OK:** ![](../images/import-pokemon-message-enqueue-test-spec.png) diff --git a/docs/docs/live-examples/pokeshop/use-cases/list-pokemon.md b/docs/docs/live-examples/pokeshop/use-cases/list-pokemon.md index 8440363735..5bf44e305b 100644 --- a/docs/docs/live-examples/pokeshop/use-cases/list-pokemon.md +++ b/docs/docs/live-examples/pokeshop/use-cases/list-pokemon.md @@ -39,7 +39,7 @@ You can trigger this use case by calling the endpoint `GET /pokemon?take=20&skip ## Building a Test for This Scenario -Using Tracetest, we can [create a test](../../../web-ui/creating-tests.md) that will execute an API call on `GET /pokemon` and validate three properties: +Using Tracetest, we can [create a test](/web-ui/creating-tests) that will execute an API call on `GET /pokemon` and validate three properties: - The API should return results with HTTP 200 OK. - The database should respond with low latency (< 200ms). - The database query should use the query string parameters `take` and `skip` correctly. @@ -51,7 +51,7 @@ Running these tests for the first time will create an Observability trace like t ### Assertions -With this trace, we can build [assertions](../../../concepts/assertions.md) on Tracetest and validate the API response and the database responses: +With this trace, we can build [assertions](/concepts/assertions) on Tracetest and validate the API response and the database responses: - **The API should return results with HTTP 200 OK:** ![](../images/list-pokemons-api-test-spec.png) diff --git a/docs/docs/quick-start.md b/docs/docs/quick-start.md deleted file mode 100644 index be706e6633..0000000000 --- a/docs/docs/quick-start.md +++ /dev/null @@ -1,37 +0,0 @@ -# Quick Start - -In this section, you will: -1. ... -2. ... -3. ... -4. ... - -### **1. Install the Tracetest CLI** - -... - -### **2. Scaffold Tracetest Docker config with the CLI** - -... - -### **3. Point Tracetest to a trace back end** - -... - -### **4. Run Tracetest with Docker or the CLI** - -... - -### **5. Create and run a test** - -... - -### **6. View trace and set assertions** - -... - -## Next Steps - -... - -And, if you want, connect with us on [Discord](https://discord.gg/6zupCZFQbe) to tell us about your experience! \ No newline at end of file diff --git a/docs/docs/run-affected-spans.md b/docs/docs/run-affected-spans.md deleted file mode 100644 index 11bc9e1224..0000000000 --- a/docs/docs/run-affected-spans.md +++ /dev/null @@ -1,26 +0,0 @@ -# Affected Spans - -As you might know, Tracetest assertions are composed of two main parts: -1. A selector. -2. List of checks. - -The selector is used to identify which spans will be affected by the assertion and the system can apply the different checks. -To help the process of visually identifying what spans will be affected, Tracetest highlights them and obscures the rest while either creating/editing an assertion or selecting an existing one from the test results panel. - -## Creating an Assertion -When updating the different key value pairs to narrow down the specific span, a new control will be displayed at the top left section of the Diagram view, which has the option to move across the different affected spans. - -![Affected Spans Form DAG](img/affected-spans-form-dag.png) - -At the same time, this control component will be displayed at the assertion form level; where the user has the same options to move across the affected spans and have a visual indication of what exactly is happening. - -![Affected Spans Form](img/affected-spans-form.png) - -## Selecting an Existing Assertion -By opening the Test Result bottom section, you can find the different assertions and, when clicking on any of them, the affected spans will be automatically highlighted and the controls will be displayed at the top left of the diagram. - -Selecting an Assertion -![Affected Spans Select](img/affected-spans-select.png) - -Diagram View -![Affected Spans Select](img/affected-spans-select-dag.png) \ No newline at end of file diff --git a/docs/docs/run-exports.md b/docs/docs/run-exports.md deleted file mode 100644 index 1e9ad49f32..0000000000 --- a/docs/docs/run-exports.md +++ /dev/null @@ -1,24 +0,0 @@ -# Edit a Test - -Tracetest allows you to export the different set of information displayed for assertions and checks in a way you can use it as input for other tools, create text based tests to use on your CI/CD pipelines using the CLI and more options. - -The current supported exports are: -1. JUnit results XML. -2. Test Definition YAML. - -To access any of the available exports, go to the run/trace page details for any test and, at the header level, you'll find a three dot menu which will display the options. - -![Export Trace Options](img/exports-trace-options.png) - -## JUnit Results XML -To access the JUnit XML file, select the JUnit option from the dropdown and you'll find the file viewer modal with the location to download the file. -The JUnit report contains the results from each of the assertions added to the test and their statuses. Depending on how many assertions the test has, this file will grow. - -![Export Trace JUnit](img/exports-junit.png) - -## Test Definition YAML -The Tracetest CLI allows you to execute text based tests. This means you can store all of your tests in a repo, keep track of the different versions and use them for your CI/CD process. -An easy way to start is to export the test definition directly from the UI by selecting the option from the dropdown. -The file viewer modal will popup where you can copy paste or download the file. - -![Export Trace Test Definition](img/exports-test-definition.png) \ No newline at end of file diff --git a/docs/docs/run-locally.md b/docs/docs/run-locally.md deleted file mode 100644 index 5186bce0cd..0000000000 --- a/docs/docs/run-locally.md +++ /dev/null @@ -1,92 +0,0 @@ -# Run Tracetest Locally - -Tracetest depends on a postgres database and a trace store backend (Jaeger or Tempo). The frontend requires node and npm and the backend requires the go tooling. - -## **Run on Local Kubernetes** - -Tracetest and its dependencies can be installed in a local Kubernetes cluster (microk8s, minikube, Kubernetes for Docker Desktop, etc). -Following the [install steps](./getting-started/installation) will install a running instance of Tracetest and Postgres. Installing Jaeger is the easiest way to get a trace store backend. - -The Tracetest install can be exposed with a `LoadBalancer`, `NodePort` or any similar mechanism. It can also be kept internally, only expose the Jaeger and postgres port, -and use them to run local development builds. This is useful to quickly test changes on both the front and back end. - -### **Installing Jaeger** - -Before installing Tracetest, we need to setup the [Jaeger operator](https://www.jaegertracing.io/docs/1.32/operator/), which in turn has a dependency on [cert-mnanager](https://cert-manager.io/). -cert-manager has different [install options](https://cert-manager.io/docs/installation/). The simplest way to do this is to use a static install: - -``` -$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml -``` - -Once the pods in `cert-manager` namespace are running, we can install the Jaeger operator: - -``` -kubectl create namespace observability -kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.32.0/jaeger-operator.yaml -n observability -``` - -Now, create an `AllInOne` jaeger instance: - -``` -cat <