Skip to main content
MoleSignal APM turns backend OpenTelemetry trace spans into bounded RED aggregates for finding slow services, failing entry points, expensive dependencies, recurring backend errors, and regressions between deployed versions without separate metric instrumentation.
APM does not require another SDK or telemetry stream. Send well-instrumented traces, and MoleSignal derives APM data after trace deduplication and before tail sampling. A trace that is later sampled out can still contribute to APM metrics.

Available analysis

Prerequisites

  • OpenTelemetry traces sent to a MoleSignal trace intake endpoint;
  • streams.query in an organization workspace; or
  • sys.telemetry.read for protected _sys telemetry.

Instrument services for APM

1

Set stable service resource attributes

Set service.name on every service. Add namespace, environment, version, and instance attributes for service filtering or deployment comparison.
The exact setup depends on the selected OpenTelemetry SDK or Collector.
2

Use the correct span kinds

Create SERVER spans for inbound requests and CONSUMER spans for consumed messages. Create CLIENT or PRODUCER spans for downstream calls. MoleSignal uses these span kinds to separate transactions from dependencies.
3

Record status and exceptions

Set OpenTelemetry span status, HTTP or RPC status attributes, and exception events. MoleSignal uses the recorded status data to classify successful and failed work and build backend error groups.
4

Send traces and open APM

Send OTLP traces, then open APM → Overview. Keep the global time range over recent traffic while the projector flushes the first buckets.
Use low-cardinality values. Do not put request IDs, raw URLs, user IDs, or other unbounded values in service, environment, version, route, operation, or dependency attributes.

How MoleSignal derives APM data

Services and transactions

SERVER and CONSUMER spans contribute service and transaction RED metrics. A parentless span without a kind can contribute to service totals as a compatibility fallback, but explicit span kinds produce more complete pages. MoleSignal builds bounded transaction names from semantic attributes:
  • HTTP method plus http.route, such as POST /checkout;
  • RPC service plus method;
  • messaging operation plus destination;
  • a safe, low-cardinality span name when no stronger semantic identity exists.
Prefer route templates such as /orders/{id} over raw paths such as /orders/83921.

Dependencies

CLIENT and PRODUCER spans contribute dependency RED metrics. MoleSignal classifies targets as a service, database, cache, messaging system, external HTTP endpoint, external RPC endpoint, or other dependency. Standard peer.service, db.*, messaging.*, rpc.*, server.*, and HTTP semantic attributes improve dependency identity.

Errors

MoleSignal classifies a span as an error when an exception is present, OpenTelemetry status is ERROR, HTTP status is 500 or higher, or RPC status is non-zero. Error groups use a stable fingerprint based on error type, the first application stack frame, and transaction name. The changing error message is not part of the fingerprint.

Understand RED metrics

Trace exemplars connect aggregate points to individual requests. An exemplar can show trace_available: false when that trace did not survive tail sampling even though the associated span still contributed to the aggregate.

Investigate a performance problem

1

Find the impact

Open Overview and compare request volume, error rate, p95 latency, and the data-quality notice for the selected time range.
2

Select a service

Open Services, then choose the affected namespace, service, environment, and version. The service workbench combines trends, transactions, dependencies, errors, and versions.
3

Narrow the cause

Use Transactions for slow entry points, Dependencies for downstream time, and Errors for recurring failures. Sort by total time when latency and traffic are both important.
4

Open evidence

Follow an available trace exemplar, or pivot to filtered traces, logs, metrics, or profiles. MoleSignal preserves the service filters and time range in supported pivots.
5

Check the deployment

Open Deployments, select the service, baseline version, and candidate version, then review RED deltas and regressed transactions. Treat an insufficient-data result as inconclusive.

Filters, resolution, and retention

APM pages share the global time range and support namespace, service, environment, and version filters. List pages also support local search, sorting, and cursor pagination. Filters are encoded in the URL for sharing or revisiting the view. With default deployment settings:
  • an omitted API range uses the last 24 hours;
  • auto resolution uses minute buckets for ranges up to 24 hours and hourly buckets for longer ranges;
  • minute aggregates are retained for 24 hours;
  • hourly aggregates and the maximum query range cover 30 days.
Administrators can change these deployment limits. A version comparison is marked sufficient only after both sides reach the configured request threshold, which defaults to 1,000 requests each.

Read data-quality notices

Every APM response includes data-quality metadata. The UI surfaces the same conditions. Reduce the time range and filters first. If partial or delayed states persist, inspect the APM health endpoint and platform telemetry.

Privacy and bounded data

APM stores aggregates and a small amount of sanitized evidence. APM does not retain request or response bodies, URL query values, headers, SQL statements, or SQL parameters in APM aggregates. Identity values, representative messages, and stack frames are length-bounded. Sensitive-looking and volatile values are removed or masked before persistence. These protections do not replace good instrumentation hygiene. Avoid placing secrets or personal data in span names, status descriptions, exception messages, or resource attributes.

Troubleshooting

APM API

Query APM overview, catalogs, details, version comparisons, and health.

Traces

Inspect the individual spans and traces behind APM evidence.

Service map

Visualize cross-service parent and child relationships.

Trace intake

Send OpenTelemetry traces to MoleSignal.
Last modified on August 9, 2026