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.queryin an organization workspace; orsys.telemetry.readfor protected_systelemetry.
Instrument services for APM
1
Set stable service resource attributes
Set The exact setup depends on the selected OpenTelemetry SDK or Collector.
service.name on every service. Add namespace, environment, version, and instance
attributes for service filtering or deployment comparison.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.
Recommended resource attributes
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 asPOST /checkout; - RPC service plus method;
- messaging operation plus destination;
- a safe, low-cardinality span name when no stronger semantic identity exists.
/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 isERROR, 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;
autoresolution 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.
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.