service enum Constrain the trace's root service. Omit for a mix.
Generate coherent mock distributed traces and individual spans with bounded timing, parentage, service filters and reproducible failures.
Generated test data for fixtures and development
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
service | enum | allowed: gateway | checkout | catalog | payments | worker example: checkout | Constrain the trace's root service. Omit for a mix. |
status | enum | allowed: ok | error example: error | Constrain trace status. Error guarantees at least one failed span. |
minDurationMs | int | default: 20 allowed: 1 – 60000 example: 100 | Inclusive minimum total trace duration in milliseconds. |
maxDurationMs | int | default: 2000 allowed: 1 – 60000 example: 5000 | Inclusive maximum total trace duration; must be at least minDurationMs. |
spanCount | int | default: 4 allowed: 1 – 8 example: 6 | Exact number of spans nested in every generated trace. |
windowMinutes | int | default: 60 allowed: 1 – 1440 example: 120 | Trace start is sampled within this many minutes at or before resolved asOf. |
asOf | date | example: 2026-07-10T23:59:59.999Z | Window end. Defaults to the current UTC day's final millisecond and is echoed for replay. |
service enum Constrain the trace's root service. Omit for a mix.
status enum Constrain trace status. Error guarantees at least one failed span.
minDurationMs int Inclusive minimum total trace duration in milliseconds.
maxDurationMs int Inclusive maximum total trace duration; must be at least minDurationMs.
spanCount int Exact number of spans nested in every generated trace.
windowMinutes int Trace start is sampled within this many minutes at or before resolved asOf.
asOf date Window end. Defaults to the current UTC day's final millisecond and is echoed for replay.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
count | int | default: 10 allowed: 1 – 100 example: 3 | How many records to generate (1–100). |
seed | int | example: 42 | Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed). |
fields | list | example: traceId,name | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: spans | Return all fields except these (comma-separated). |
format | enum | default: json allowed: json | ndjson | csv example: csv | Response format: json envelope, ndjson (one record per line) or csv. |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
count int How many records to generate (1–100).
seed int Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
format enum Response format: json envelope, ndjson (one record per line) or csv.
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
traceId | string | Unique fictional 32-hex trace identifier. | 0000000076cc47a8b2caa2cf7131537a |
name | string | Root operation name coherent with service. | create checkout |
service | string | Root service selected by the service filter or generator. | checkout |
startTime | string (ISO 8601) | Trace start inside the requested window at or before resolved asOf. | 2026-07-10T23:14:22.031Z |
durationMs | integer | Total duration inside the requested inclusive bounds. | 842 |
status | string | ok or error, derived coherently from nested span status. | error |
rootSpanId | string | Identifier of spans[0], whose parent is null. | 0000000066f327f2 |
spanCount | integer | Exact number of objects in spans. | 4 |
spans | object[] | Bounded parent-first span tree with offsets, durations, status and nullable error codes. | [{"spanId":"0000000066f327f2","parentSpanId":null,"name":"create checkout","service":"checkout","kind":"server","startOffsetMs":0,"durationMs":842,"status":"ok","errorCode":null}] |
traceId string Unique fictional 32-hex trace identifier.
example: 0000000076cc47a8b2caa2cf7131537a
name string Root operation name coherent with service.
example: create checkout
service string Root service selected by the service filter or generator.
example: checkout
startTime string (ISO 8601) Trace start inside the requested window at or before resolved asOf.
example: 2026-07-10T23:14:22.031Z
durationMs integer Total duration inside the requested inclusive bounds.
example: 842
status string ok or error, derived coherently from nested span status.
example: error
rootSpanId string Identifier of spans[0], whose parent is null.
example: 0000000066f327f2
spanCount integer Exact number of objects in spans.
example: 4
spans object[] Bounded parent-first span tree with offsets, durations, status and nullable error codes.
example: [{"spanId":"0000000066f327f2","parentSpanId":null,"name":"create checkout","service":"checkout","kind":"server","startOffsetMs":0,"durationMs":842,"status":"ok","errorCode":null}]
/api/traces?service=checkout&spanCount=6&seed=42&count=10 {
"data": [
{
"traceId": "0000000029ff11dec8095cf565312cf8",
"name": "reserve order",
"service": "checkout",
"startTime": "2026-07-29T23:00:15.697Z",
"durationMs": 1361,
"status": "ok",
"rootSpanId": "00000000958016cf",
"spanCount": 6,
"spans": [
{
"spanId": "00000000958016cf",
"parentSpanId": null,
"name": "reserve order",
"service": "checkout",
"kind": "server",
"startOffsetMs": 0,
"durationMs": 1361,
"status": "ok",
"errorCode": null
},
{
"spanId": "00000001b6a5c85e",
"parentSpanId": "00000000958016cf",
"name": "validate basket",
"service": "checkout",
"kind": "producer",
"startOffsetMs": 494,
"durationMs": 377,
"status": "ok",
"errorCode": null
},
{
"spanId": "00000002ac58cdd4",
"parentSpanId": "00000000958016cf",
"name": "create checkout",
"service": "checkout",
"kind": "server",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/traces?status=error&minDurationMs=2000&maxDurationMs=5000&windowMinutes=120&count=20 {
"data": [
{
"traceId": "000000006b87c24316010d14615edf36",
"name": "list products",
"service": "catalog",
"startTime": "2026-07-29T22:21:26.745Z",
"durationMs": 4032,
"status": "error",
"rootSpanId": "00000000958016cf",
"spanCount": 4,
"spans": [
{
"spanId": "00000000958016cf",
"parentSpanId": null,
"name": "list products",
"service": "catalog",
"kind": "server",
"startOffsetMs": 0,
"durationMs": 4032,
"status": "ok",
"errorCode": null
},
{
"spanId": "00000001b6a5c85e",
"parentSpanId": "00000000958016cf",
"name": "search catalog",
"service": "catalog",
"kind": "internal",
"startOffsetMs": 3425,
"durationMs": 50,
"status": "ok",
"errorCode": null
},
{
"spanId": "00000002ac58cdd4",
"parentSpanId": "00000000958016cf",
"name": "load product",
"service": "catalog",
"kind": "client",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} | Parameter | Type | Default & allowed | Description |
|---|---|---|---|
service | enum | allowed: gateway | checkout | catalog | payments | worker example: payments | Constrain every span to this service. Omit for a mix. |
kind | enum | allowed: server | client | producer | consumer | internal example: client | Constrain every span to this span kind. Omit for a mix. |
status | enum | allowed: ok | error example: ok | Constrain every span to ok or error. |
minDurationMs | int | default: 5 allowed: 1 – 60000 example: 20 | Inclusive minimum span duration in milliseconds. |
maxDurationMs | int | default: 1000 allowed: 1 – 60000 example: 2000 | Inclusive maximum span duration; must be at least minDurationMs. |
windowMinutes | int | default: 60 allowed: 1 – 1440 example: 240 | Span start is sampled within this many minutes at or before resolved asOf. |
asOf | date | example: 2026-07-10T23:59:59.999Z | Window end. Defaults to the current UTC day's final millisecond and is echoed for replay. |
service enum Constrain every span to this service. Omit for a mix.
kind enum Constrain every span to this span kind. Omit for a mix.
status enum Constrain every span to ok or error.
minDurationMs int Inclusive minimum span duration in milliseconds.
maxDurationMs int Inclusive maximum span duration; must be at least minDurationMs.
windowMinutes int Span start is sampled within this many minutes at or before resolved asOf.
asOf date Window end. Defaults to the current UTC day's final millisecond and is echoed for replay.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
count | int | default: 10 allowed: 1 – 100 example: 3 | How many records to generate (1–100). |
seed | int | example: 42 | Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed). |
fields | list | example: traceId,spanId | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: attributes | Return all fields except these (comma-separated). |
format | enum | default: json allowed: json | ndjson | csv example: csv | Response format: json envelope, ndjson (one record per line) or csv. |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
count int How many records to generate (1–100).
seed int Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
format enum Response format: json envelope, ndjson (one record per line) or csv.
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
traceId | string | Unique fictional trace id for this standalone span fixture. | 0000000076cc47a8b2caa2cf7131537a |
spanId | string | Unique fictional 16-hex span id. | 0000000066f327f2 |
parentSpanId nullable | string | Null for generated server roots; otherwise a fictional parent id. | 00000000a2cf7131 |
name | string | Operation coherent with service. | authorize payment |
service | string | Generated or requested service. | payments |
kind | string | server, client, producer, consumer or internal. | client |
startTime | string (ISO 8601) | Span start inside the requested sampling window. | 2026-07-10T23:42:10.002Z |
durationMs | integer | Span duration inside requested bounds. | 127 |
status | string | ok or error. | ok |
errorCode nullable | string | Service-specific code for error spans; otherwise null. | null |
attributes | object | Small safe example attributes coherent with kind. | {"method":"POST","path":"/api/checkout","statusCode":201} |
traceId string Unique fictional trace id for this standalone span fixture.
example: 0000000076cc47a8b2caa2cf7131537a
spanId string Unique fictional 16-hex span id.
example: 0000000066f327f2
parentSpanId string nullable Null for generated server roots; otherwise a fictional parent id.
example: 00000000a2cf7131
name string Operation coherent with service.
example: authorize payment
service string Generated or requested service.
example: payments
kind string server, client, producer, consumer or internal.
example: client
startTime string (ISO 8601) Span start inside the requested sampling window.
example: 2026-07-10T23:42:10.002Z
durationMs integer Span duration inside requested bounds.
example: 127
status string ok or error.
example: ok
errorCode string nullable Service-specific code for error spans; otherwise null.
example: null
attributes object Small safe example attributes coherent with kind.
example: {"method":"POST","path":"/api/checkout","statusCode":201}
/api/traces/spans?service=payments&kind=client&seed=42&count=20 {
"data": [
{
"traceId": "00000000a958016cfb6a5c85eac58cdd",
"spanId": "0000000040fb1586",
"parentSpanId": "000000013c1d1cff",
"name": "capture payment",
"service": "payments",
"kind": "client",
"startTime": "2026-07-29T23:29:42.718Z",
"durationMs": 187,
"status": "ok",
"errorCode": null,
"attributes": {
"method": "POST",
"path": "/api/items",
"statusCode": 200
}
},
{
"traceId": "00000001078f248abeccba6fd45df91c",
"spanId": "0001000036673e8f",
"parentSpanId": "00010001cae90de6",
"name": "authorize payment",
"service": "payments",
"kind": "client",
"startTime": "2026-07-29T23:21:41.589Z",
"durationMs": 351,
"status": "ok",
"errorCode": null,
"attributes": {
"method": "POST",
"path": "/api/orders",
"statusCode": 201
}
},
{
"traceId": "0000000215790902c05ac838fecf0b9c",
"spanId": "000200004166f967",
"parentSpanId": "000200010555a0ee",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/traces/spans?service=worker&kind=consumer&status=error&minDurationMs=50&maxDurationMs=500&count=15 {
"data": [
{
"traceId": "000000007a958016cfb6a5c85eac58cd",
"spanId": "00000000d40fb158",
"parentSpanId": "0000000163c1d1cf",
"name": "retry task",
"service": "worker",
"kind": "consumer",
"startTime": "2026-07-29T23:30:14.480Z",
"durationMs": 273,
"status": "error",
"errorCode": "JOB_FAILED",
"attributes": {
"messagingSystem": "demo-broker",
"destination": "events"
}
},
{
"traceId": "000000010078f248abeccba6fd45df91",
"spanId": "00010000c36673e8",
"parentSpanId": "00010001fcae90de",
"name": "publish result",
"service": "worker",
"kind": "consumer",
"startTime": "2026-07-29T23:19:40.439Z",
"durationMs": 213,
"status": "error",
"errorCode": "JOB_FAILED",
"attributes": {
"messagingSystem": "demo-broker",
"destination": "events"
}
},
{
"traceId": "00000002d15790902c05ac838fecf0b9",
"spanId": "00020000c4166f96",
"parentSpanId": "0002000170555a0e",
"name": "retry task",
"service": "worker",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} Generates compact, fictional distributed tracing fixtures for waterfall views, latency tables and observability demos. The root route returns one complete trace per record with a bounded span tree. Every child starts inside the trace, finishes no later than the trace, and references an earlier span as its parent. An error trace always contains at least one error span; an ok trace contains none.
service, status, duration bounds and spanCount genuinely constrain complete traces. /spans emits individual span records and adds kind filtering for server, client, producer, consumer and internal work. Timestamps are sampled from a window ending at resolved asOf; it defaults to the current UTC day's end and is echoed so a seeded response can be replayed later.
These records are intentionally generic mock data. Their identifiers have familiar trace/span lengths, but the endpoint does not claim OpenTelemetry, Zipkin, Jaeger or W3C propagation conformance. Attributes use safe example paths and a fictional broker; no request headers, credentials, customer data or real hosts are generated.
Yes. Every child has a non-negative start offset and a duration that ends at or before the trace duration.
Yes. Error traces contain at least one failed span with an error code; ok traces contain no failed spans.
No. They are compact generic mock fixtures and make no telemetry-vendor or protocol-conformance claim.
No. Operations, paths, services, identifiers and attributes are generated fixtures with no headers, secrets or real hosts.
Validate and explain W3C traceparent and tracestate values, including versioning, zero-ID checks, sampled flags and vendor-entry grammar.
Generate coherent fake audit records for authentication, CRUD and permission changes — safely seeded, filterable and bounded by time.
Generate coherent mock CloudEvents 1.0 structured JSON envelopes with all required context attributes and action-specific event data.
Fake git commits — Conventional Commits or plain messages, 40-char hashes, safe author emails, dates in your range and realistic diff stats. Fully seedable.
The complete IANA HTTP status code registry with practical descriptions, defining RFCs and a retryable flag — list by category or look up a single code.
Generate sample log lines — JSON, logfmt, NCSA combined, nginx error and RFC 5424/3164 syslog — each returned with the parsed fields for that line.