Observability
Self-hosted
The self-hosted version of the application supports OpenTelemetry for observability to ship signals
to an observability platform, such as Prometheus, Elastic, Datadog, and others.
The following signals are supported:
You can enable and configure OpenTelemetry by setting environment variables:
Environment Variable | Value | Description |
---|
OTEL_JAVAAGENT_ENABLED | true | Enable OpenTelemetry |
OTEL_EXPORTER_OTLP_ENDPOINT | https://ENDPOINT_URL | The endpoint URL for the OTLP exporter |
OTEL_EXPORTER_OTLP_HEADERS | Authorization=Bearer BEARER_TOKEN | Headers for the OTLP exporter, including authorization |
OTEL_RESOURCE_ATTRIBUTES | service.name=datacontract-manager,deployment.environment=prod | Attributes for the resource, such as service name, version, and deployment environment |
OTEL_SERVICE_NAME | datacontract-manager | The name of the service |
OTEL_JAVAAGENT_LOGGING | application | The Java agent logging mode. |
OTEL_EXPORTER_OTLP_PROTOCOL | http/protobuf | Protocol used by the OTLP exporter |
OTEL_LOGS_EXPORTER | otlp | otlp to enable (default) or none to disable logs exporter |
OTEL_METRICS_EXPORTER | otlp | otlp to enable (default) or none to disable metrics exporter |
OTEL_TRACES_EXPORTER | otlp | otlp to enable (default) or none to disable traces exporter |
OTEL_INSTRUMENTATION_MICROMETER_ENABLED | true | Enable this to export application metrics. |
You can use the official OpenTelemetry documentation to learn more about the configuration options:
https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/
This document provides information about the custom metrics exposed by the Data Mesh Manager application. All custom metrics are prefixed with dmm.
.
Resource Metrics
Metric Name | Type | Description | Labels |
---|
dmm.organizations.total | Gauge | Total number of organizations | None |
dmm.organizations.plan.total | Gauge | Total number of organizations by plan | plan (free, evaluation, enterprise, starter) |
dmm.azure.subscriptions.total | Gauge | Total number of Azure subscriptions | None |
dmm.azure.organizations.total | Gauge | Total number of organizations with Azure subscriptions | None |
dmm.organizationapikeys.total | Gauge | Total number of API keys | None |
dmm.users.total | Gauge | Total number of users | None |
dmm.teams.total | Gauge | Total number of teams | None |
dmm.sourcesystems.total | Gauge | Total number of source systems | None |
dmm.dataproducts.total | Gauge | Total number of data products | None |
dmm.datausageagreements.total | Gauge | Total number of data usage agreements | None |
dmm.datacontracts.total | Gauge | Total number of data contracts | None |
dmm.definitions.total | Gauge | Total number of definitions | None |
dmm.policies.total | Gauge | Total number of policies | None |
dmm.policychecks.pending | Gauge | Number of pending policy checks | None |
User-related Metrics
Metric Name | Type | Description | Labels |
---|
dmm.user.created | Counter | Number of users created | None |
dmm.user.password-reset | Counter | Number of successful password resets | None |
dmm.user.password-forgotten | Counter | Number of "forgot password" requests | None |
dmm.user.resend-verification-link | Counter | Number of verification link resend requests | None |
Authentication Metrics
Metric Name | Type | Description | Labels |
---|
dmm.login | Counter | Number of login attempts | type (password, api), userid (for password logins), apikey , organizationId , organization (for API logins) |
Organization Metrics
Metric Name | Type | Description | Labels |
---|
dmm.organizations.user-joined | Counter | Number of users that joined organizations | organization (vanity URL) |
Email Metrics
Metric Name | Type | Description | Labels |
---|
dmm.mails | Counter | Number of emails sent | status (success, error), type (email type: email-verification, password-reset, invitation, test, access-requested, access-approved, access-auto-approved, access-rejected, checks-failed, checks-keep-failing, checks-recovered, etc.) |
Search and AI Metrics
Metric Name | Type | Description | Labels |
---|
dmm.search.query | Counter | Number of search queries | userintention (search intention type), results (number of results) |
dmm.ai.embeddings.pending | Gauge | Number of resources pending embeddings generation | None |
dmm.ai.embeddings.ingested | Counter | Number of embeddings ingested | resource (resource type), organizationId (organization ID) |
Notes
- Gauges represent current values and are updated periodically (typically every minute)
- Counters represent accumulated totals and are incremented each time an event occurs
- Labels allow metrics to be further segmented for more detailed analysis