Skip to content

Commit c8d1d7d

Browse files
authored
Merge pull request #10347 from emirmx/run/4677-add-tracing-filter-docs
[RUN-4677] Add tracing filter docs
2 parents 35539f1 + 952a584 commit c8d1d7d

1 file changed

Lines changed: 28 additions & 10 deletions

File tree

content/en/docs/refguide/runtime/tracing-in-runtime.md

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: "Describes how to setup and use tracing in the Mendix Runtime."
66

77
## Introduction
88

9-
Mendix now supports tracing via OpenTelemetry. When tracing is enabled, the runtime generates traces that help you analyze errors and performance.
9+
Mendix supports tracing via OpenTelemetry. When tracing is enabled, the runtime generates traces that help you analyze errors and performance.
1010
These traces can be sent to observability tools like [Jaeger](https://www.jaegertracing.io/) or [Datadog](https://www.datadoghq.com/).
1111

1212
{{% alert color="warning" %}}
@@ -15,7 +15,7 @@ Tracing is currently not supported on Mendix Cloud and Mendix Cloud Dedicated.
1515

1616
## Generated spans
1717

18-
The runtime generates spans for:
18+
The runtime generates spans for the following:
1919

2020
* Runtime operations coming from the front end, for example, microflow calls, retrieves, commits, and deletes
2121
* Microflow execution within the runtime, including sub-microflow calls
@@ -26,21 +26,39 @@ The runtime generates spans for:
2626

2727
### Minimal Configuration {#min-configuration}
2828

29-
Tracing can be enabled from the `App Settings` -> `Configuration` dialog. In the `Tracing` tab, you can enable tracing and specify an **Endpoint** and **Service Name**.
29+
You can enable tracing from the `App Settings` -> `Configuration` dialog. In the `Tracing` tab, you can enable tracing and specify an **Endpoint** and **Service Name**.
3030

3131
{{< figure src="/attachments/refguide/runtime/tracing-in-runtime/tracing-configuration.png" >}}
3232

33+
### Filtering
34+
35+
{{% alert color="info" %}}
36+
Filtering was introduced in Mendix 11.5.0.
37+
{{% /alert %}}
38+
39+
You can filter out specific traces using the `mendix.tracing.filter` system property. The specified spans and their sub-spans will be filtered out.
40+
41+
`matchType` specifies how the name of the span is matched. The `matchType` must be set to `partial`. This checks if the span name contains the provided value.
42+
43+
```json
44+
[
45+
{
46+
"type": "drop", "matchType": "partial", "spanName": "Loop"
47+
}
48+
]
49+
```
50+
3351
### Testing
3452

35-
To test the tracing you can use [Jaeger](https://www.jaegertracing.io/). For example, the all-in-one binary or Docker image. Jaeger will listen to the above endpoint by default.
53+
You can test the tracing using [Jaeger](https://www.jaegertracing.io/). For example, you can use the all-in-one binary or Docker image. Jaeger will listen to endpoint `http://localhost:4318/v1/traces` by default.
3654

3755
Alternatively, you can set up the [OpenTelemetry collector](https://opentelemetry.io/docs/collector/), which will also listen to the default endpoint and can be configured to send to backends which support OpenTelemetry. Check with your APM vendor to confirm that OpenTelemetry is supported. The free online collector configuration tool [OTelBin](https://github.com/dash0hq/otelbin) can help with collector configuration.
3856

3957
### All settings
4058

41-
Below we list the ones that are supported by the Mendix runtime. See [Configure the SDK](https://opentelemetry.io/docs/languages/java/configuration/#environment-variables-and-system-properties) for a reference on the settings that are prefixed with `otel.`.
59+
The following settings are supported by the Mendix runtime. See [Configure the SDK](https://opentelemetry.io/docs/languages/java/configuration/#environment-variables-and-system-properties) for more information about the settings that are prefixed with `otel.`.
4260

43-
The Java Agent can be configured through system properties, which can be added to the **Extra JVM parameters** field (for example, `-Dotel.exporter.otlp.traces.endpoint`), or set through environment variables.
61+
You can configure the Java Agent through system properties which can be added to the **Extra JVM parameters** field (for example, `-Dotel.exporter.otlp.traces.endpoint`), or set through environment variables.
4462

4563
| Name | Description | Default |
4664
|------|-------------|---------|
@@ -57,7 +75,7 @@ The Java Agent can be configured through system properties, which can be added t
5775

5876
## Enabling Tracing for Deployed Applications
5977

60-
To enable tracing for your deployed Mendix application, configure the following JVM parameters:
78+
You enable tracing for your deployed Mendix application, by the following JVM parameters:
6179

6280
```
6381
-javaagent:mxinstallation/runtime/agents/opentelemetry-javaagent.jar
@@ -99,20 +117,20 @@ Replace `MyServiceName` with a meaningful identifier for your service, and `coll
99117

100118
## Sending Traces to Datadog
101119

102-
There are two options for exporting OpenTelemetry traces to Datadog:
120+
You can export OpenTelemetry traces to Datadog using one of the following two ways:
103121

104122
* Datadog Distribution of OpenTelemetry (DDOT)
105123
* OpenTelemetry Collector
106124

107125
### Datadog Distribution of OpenTelemetry (DDOT)
108126

109-
DDOT can be deployed to Kubernetes or Linux (Preview). The default setup provides minimal configuration, allowing it to receive OpenTelemetry traces or logs from your Mendix app and send them to Datadog. With this default configuration, the collector listens on the same ports as your Mendix application.
127+
You can deploy DDOT to Kubernetes or Linux (Preview). The default setup provides minimal configuration, allowing it to receive OpenTelemetry traces or logs from your Mendix app and send them to Datadog. With this default configuration, the collector listens on the same ports as your Mendix application.
110128

111129
For installation instructions, refer to the official [DDOT documentation](https://docs.datadoghq.com/opentelemetry/setup/ddot_collector/install).
112130

113131
### OpenTelemetry Collector
114132

115-
The OpenTelemetry Collector can be installed on various operating systems, including Windows, macOS, and Linux.
133+
You can install the OpenTelemetry Collector on various operating systems, including Windows, macOS, and Linux.
116134

117135
To use the OpenTelemetry Collector with Datadog, follow these steps:
118136

0 commit comments

Comments
 (0)