Hacker DirectoryHacker Directory

WEB / WEB-21.03

Logs, metrics, and traces

Observe business outcomes, signal production, sampling, and observer visibility separately.

CORE · RED · BLUE · ARTIFACT · PRACTICE

1. Core · Mechanism

Read every scenario without motion

Signal production

  1. Public operation

    The fixed public-note input is known; instrumentation, local exporter, and observer know no completion record yet.

    Public business service
    Public input known
    Local instrumentation
    Signals not recorded
    Local export adapter
    Local sink empty
    Observer projection
    Observer has no record
  2. Business result

    The own public-read adapter produces status200 and Tea title; telemetry delivery is a separate event from business completion.

    Public business service
    Tea result completed
    Local instrumentation
    Signals not recorded
    Local export adapter
    Local sink empty
    Observer projection
    Observer has no record
  3. Metric increment

    The selected operation/status counter increments from local input; a metric aggregate does not replace an individual log record.

    Public business service
    Tea result completed
    Local instrumentation
    Counter incremented
    Local export adapter
    Local sink empty
    Observer projection
    Observer has no record
  4. Context relation

    Supplied logical spans share traceAlias and an exact parentAlias relationship; they are not a measured network trace.

    Public business service
    Tea result completed
    Local instrumentation
    Root / child recorded
    Local export adapter
    Local sink empty
    Observer projection
    Observer has no record
  5. Redact / project

    Known fake authorization/session aliases are excluded by the output allowlist; the source dictionary is unchanged.

    Public business service
    Tea result completed
    Local instrumentation
    Allowlisted log ready
    Local export adapter
    Local sink empty
    Observer projection
    Observer has no record
  6. Local stream write

    The own structured record is written to a StringIO stream; no real collector or remote telemetry packet is used.

    Public business service
    Tea result completed
    Local instrumentation
    Allowlisted log ready
    Local export adapter
    Own stream written
    Observer projection
    Observer has no record
  7. Independent observe

    An independent JSON parser reads event/operation/correlation fields; seeded aliases are absent from output.

    Public business service
    Tea result completed
    Local instrumentation
    Allowlisted log ready
    Local export adapter
    Own stream written
    Observer projection
    Parsed public record

Unsampled trace

  1. Sampling decision

    The selected branch supplies sampled=false; this decision does not say that the business operation never occurs.

    Public business service
    Public input known
    Local instrumentation
    sampled=false supplied
    Local export adapter
    Local sink unchanged
    Observer projection
    No request trace
  2. Read completes

    The public-read adapter produces normal status200; trace selection does not alter this finite result.

    Public business service
    Tea result completed
    Local instrumentation
    sampled=false supplied
    Local export adapter
    Local sink unchanged
    Observer projection
    No request trace
  3. Counter still counts

    The own request counter includes the sampled=false operation; metric counting and trace inclusion are separate decisions.

    Public business service
    Tea result completed
    Local instrumentation
    Metric +1 recorded
    Local export adapter
    Local sink unchanged
    Observer projection
    No request trace
  4. Trace omitted

    Declared sampling leaves retained trace0; an omitted trace is not a synthetic failure event.

    Public business service
    Tea result completed
    Local instrumentation
    Trace deliberately absent
    Local export adapter
    Local sink unchanged
    Observer projection
    No request trace
  5. Knowledge boundary

    The observer does not equate no trace with no event; the verified sampling reason remains beside business completion.

    Public business service
    Tea result completed
    Local instrumentation
    Trace deliberately absent
    Local export adapter
    Local sink unchanged
    Observer projection
    No trace; event occurred

Exporter failure

  1. Read input known

    The export-failure branch starts with an own public read and declared best-effort diagnostics policy; it is not a mandatory audit.

    Public business service
    Public input known
    Local instrumentation
    Record not produced
    Local export adapter
    Failing sink supplied
    Observer projection
    Observer empty
  2. Business completes

    The public-note read produces a successful result; logging-sink failure is neither a business mutation nor a permission verdict.

    Public business service
    Business success200
    Local instrumentation
    Record not produced
    Local export adapter
    Failing sink supplied
    Observer projection
    Observer empty
  3. Record projection

    Only public allowlisted fields enter the local record; raw seeded aliases are not included in sensitive output.

    Public business service
    Business success200
    Local instrumentation
    Public record ready
    Local export adapter
    Failing sink supplied
    Observer projection
    Observer empty
  4. Exporter failure

    The own failing sink raises OSError; an actual local exception is observed without claiming a remote exporter outage.

    Public business service
    Business success200
    Local instrumentation
    Public record ready
    Local export adapter
    Own OSError observed
    Observer projection
    Observer empty
  5. Visibility missing

    The observer retains exported record0 and visibilityConfirmed=false; business success is not turned into a health guarantee.

    Public business service
    Business success200
    Local instrumentation
    Public record ready
    Local export adapter
    Own OSError observed
    Observer projection
    export0 / visibility gap
  6. Scope / policy

    The explicit public-read policy preserves the result without a general guarantee about compliance audit completeness.

    Public business service
    Success / diagnostic gap
    Local instrumentation
    Public record ready
    Local export adapter
    Own OSError observed
    Observer projection
    export0 / visibility gap

Missing signal

  1. No observation

    The missing case supplies no evidence about an application event, exporter result, or recent counter sample.

    Public business service
    Operation unobserved
    Local instrumentation
    No observation supplied
    Local export adapter
    Sink state unknown
    Observer projection
    Observer has no evidence
  2. Window undefined

    An empty measurement window leaves the error fraction undefined; absence of observation is not written as rate0.

    Public business service
    Operation unobserved
    Local instrumentation
    No observation supplied
    Local export adapter
    Sink state unknown
    Observer projection
    Denominator0 / undefined
  3. Health unknown

    Health unknown proves neither that the application is down nor healthy; it states only an evidence boundary.

    Public business service
    Operation unobserved
    Local instrumentation
    No observation supplied
    Local export adapter
    Sink state unknown
    Observer projection
    Health unknown
  4. No event inference

    The observer asserts neither no event nor no failure; a missing record cannot confer authorization or business success.

    Public business service
    Operation unobserved
    Local instrumentation
    No observation supplied
    Local export adapter
    Sink state unknown
    Observer projection
    No absence proof

ACTORS · STATE · DATA FLOW

Observability is a question beyond instrumentation counts

Observability uses external signals to understand internal system behavior and why a selected outcome occurred. Many log lines or an attractive dashboard are not enough. Choose the question first: did a public note read finish, which dependency waited, where did an error occur, and did the observation pipeline receive data? Bind instrumentation, signal semantics, and correlation to that question. Telemetry outcomes do not become authoritative business state.

A log records an event in structured or unstructured form with time, event type, and bounded context. Metrics aggregate selected measurements; request counts, error counts, and histograms are different kinds. A cumulative counter can increase while process resets or exporter temporality affect interpretation. A gauge describes a current observation and a histogram a distribution. Raw URLs or user identifiers as labels can create cardinality cost. This lesson uses finite operation/status dimensions without vendor tuning numbers.

A trace connects operations through spans and parent/context relationships. A public-read root can have a local-note-read child; shared context and the correct parent convey causality. A correlation identifier is not a credential or permission grant. trace-demo and span-root are inert teaching aliases, not a claimed trace wire format. The logical10–14 root duration4 and11–13 child duration2 are authored clock values, not measured latency or captured production traces.

An event need not appear in every signal

Instrumentation, sampling, local buffers, exporters, and collector/backend stages differ. A request can occur without a retained trace under selected sampling. Separate metric instrumentation can still count it. Head sampling decides early and does not guarantee selection of a later error; tail sampling can inspect more completed spans but has its own buffering and availability limits. The fixture uses a supplied sampled boolean, not an OpenTelemetry sampler or collector.

The finite window contains three local public calls: two successes and one unavailable result. Request total is3 and error total1, while only two selected requests retain trace records. Missing one trace does not make the metric total wrong. Error fraction1/3 uses that selected denominator; no global rate follows without window, reset, and label scope. An empty window with denominator0 has undefined rate, which differs from zero measured errors.

Producing a record, redacting it, submitting it to an exporter, and storing it for observation are separate facts. A normal own stream exports structured public data for independent JSON parsing. In the failure case a selected local sink raises OSError: business success remains, but observed exports are0 and visibility is unknown. This public-read policy is not a general compliance/audit permission; required audit events need their own retention and durability contracts.

2. Red · Trust & Impact

Read every scenario without motion

Trace absence

  1. Unsampled successful call

    The unsampled call has status 200, businessCompleted true and metricIncrement 1, but sampled false and retainedTraces 0. Trace absence does not mean the request did not occur.

    Diagnostic ledger
    Business complete / metric+1 / trace0
    Observation policy
    Not yet evaluated
    Observer outcome
    Not yet evaluated
  2. Window denominator

    The 200/503/200 window has requestTotal 3 and errorTotal 1. Using retainedRequestTraces 2 as denominator changes scope; sampling does not remove calls from metrics.

    Diagnostic ledger
    Business complete / metric+1 / trace0
    Observation policy
    Error fraction1/3 / retained traces2
    Observer outcome
    Not yet evaluated
  3. Empty input is not a rate

    Missing denominator 0 has windowRate null. Zero observations do not yield an error fraction of 0 or health without signal-coverage evidence.

    Diagnostic ledger
    Business complete / metric+1 / trace0
    Observation policy
    Error fraction1/3 / retained traces2
    Observer outcome
    No denominator / rate null / health unknown
  4. Read span relationships

    span-child refers to span-root in trace-demo, with logical interval 11–13 inside root 10–14. Authored duration is not measured milliseconds or latency.

    Diagnostic ledger
    Logical parent relation / no wall-clock latency
    Observation policy
    Error fraction1/3 / retained traces2
    Observer outcome
    No denominator / rate null / health unknown
  5. Bound causal claims

    Equal operation names or nearby timestamps do not establish parent context. Trace alias and exact parent relation retain scope without diagnosing a production bottleneck from logical duration.

    Diagnostic ledger
    Logical parent relation / no wall-clock latency
    Observation policy
    Correlation relation ≠ full causal diagnosis
    Observer outcome
    No denominator / rate null / health unknown
  6. Name absence correctly

    Verified sampling explains known trace absence; missing observation lacks that explanation. No signal is not collapsed into no event or successful health.

    Diagnostic ledger
    Logical parent relation / no wall-clock latency
    Observation policy
    Correlation relation ≠ full causal diagnosis
    Observer outcome
    Sampling absence ≠ unexplained visibility gap

Export and privacy

  1. Public log projection

    Fake input includes demo-token-alias and demo-session-alias. The allowlist exports only event, operation and correlationAlias without mutating the source object.

    Diagnostic ledger
    Three exported fields / fake aliases excluded
    Observation policy
    Not yet evaluated
    Observer outcome
    Not yet evaluated
  2. Narrow redaction scope

    Known-field projection is not a secret detector for every nested format. Trace attributes and metric dimensions do not automatically pass through the same filter.

    Diagnostic ledger
    Three exported fields / fake aliases excluded
    Observation policy
    Known-field projection / other signals separate
    Observer outcome
    Not yet evaluated
  3. Export-sink failure

    exportFailure retains businessCompleted true and status 200 with exportOk false and exportedRecords 0. Successful public reading does not set visibilityConfirmed true.

    Diagnostic ledger
    Three exported fields / fake aliases excluded
    Observation policy
    Known-field projection / other signals separate
    Observer outcome
    Business200 / export false / visibility false
  4. Policy qualification

    This public diagnostic uses explicit best-effort policy. Mandatory security audit requires separate treatment of export failure; the example is not a universal fail-open rule.

    Diagnostic ledger
    Best-effort public diagnostics only
    Observation policy
    Known-field projection / other signals separate
    Observer outcome
    Business200 / export false / visibility false
  5. Do not justify secret collection

    Closing a correlation gap does not require Authorization, sessions or private bodies. Fake seed values are not credentials; minimal public comparison fields suffice.

    Diagnostic ledger
    Best-effort public diagnostics only
    Observation policy
    Minimum fields / no raw credential collection
    Observer outcome
    Business200 / export false / visibility false
  6. Report two outcomes separately

    The public result completed while diagnostic export failed. The record proves neither server authorization nor backend delivery; local sink failure narrows observer coverage.

    Diagnostic ledger
    Best-effort public diagnostics only
    Observation policy
    Minimum fields / no raw credential collection
    Observer outcome
    Business result known / diagnostic gap retained

ASSUMPTION · BOUNDARY · CONTROL

Reading no signal as no event or healthy

An absent trace does not prove that an operation never occurred. Sampling false, missing context, export failure, or retention windows can explain the gap. The condition examined is an observation gap, not an attack workflow. In the unsampled branch the business response completes and metrics increment while trace records remain0. The control separates outcomes from recording decisions without fabricating another success or failure event.

A metric0 does not prove no errors unless instrumentation and observation-window coverage are known. Producing error fraction0 from empty input hides the denominator. Health assessment combines expected signal production, recent observations, and user-flow results. The missing case retains unknown observer state; a dashboard or completed static scene confers neither real application health nor caller authority.

More collected data is not always better

Copying bodies, Authorization, session identifiers, or private attributes wholesale into logs can expose secrets and personal data. The fixture seeds only fake demo-token-alias and demo-session-alias values. Its output allowlist retains event, operation, and correlationAlias without mutating the source dictionary. This is not discovery of real secrets or a detector for every nested log format; independent reading checks only that known fixture fields do not reach the sink.

Span attributes and metric dimensions also collect data. A log filter does not automatically apply to other signals. High-cardinality raw identifiers affect memory, cost, and investigation scope. Operational telemetry and authoritative security audits can have different completeness and retention guarantees. Separating export failure from business results must not dismiss mandatory audit gaps; this example selects only a public read and an explicit best-effort diagnostic policy.

3. Blue · Secure development & defense

Read every scenario without motion

Signal controls

  1. Three-call inventory

    Adapter statuses are 200/503/200 with 3 requests, 2 successes and 1 error. Counter scope is this finite window, not a global service rate or SLA.

    Public telemetry records
    Window3 / success2 / error1
    Signal comparison
    Not yet evaluated
    Coverage outcome
    Not yet evaluated
  2. Sampling comparison

    Sampling true/true/false retains two traces while the third call increments metrics. Outcome and retention remain separate; trace count is not the request denominator.

    Public telemetry records
    Window3 / success2 / error1
    Signal comparison
    Calls3 / retained traces2
    Coverage outcome
    Not yet evaluated
  3. Structured-field control

    The exported record contains only three allowed fields. Fake authorization/session aliases are absent and sourceMutated false; no broader anonymization success is added.

    Public telemetry records
    Window3 / success2 / error1
    Signal comparison
    Calls3 / retained traces2
    Coverage outcome
    Allowed fields only / source unchanged
  4. Span-context control

    Root has null parent, child refers to span-root, and both use trace-demo. End-minus-start yields 4/2 logical units, kept separate from real timing claims.

    Public telemetry records
    Exact parent relation / logical durations4,2
    Signal comparison
    Calls3 / retained traces2
    Coverage outcome
    Allowed fields only / source unchanged
  5. Three visibility states

    Unsampled has a verified recording decision, exportFailure an observed sink OSError, and missing no observation. The same zero count carries different knowledge.

    Public telemetry records
    Exact parent relation / logical durations4,2
    Signal comparison
    Sampling / observed export error / unknown
    Coverage outcome
    Allowed fields only / source unchanged
  6. Observer-health boundary

    Finite log/count comparisons remain within local-adapter scope. They do not claim collector, remote exporter, SDK or production-log execution; visibility and business outcome remain separate.

    Public telemetry records
    Exact parent relation / logical durations4,2
    Signal comparison
    Sampling / observed export error / unknown
    Coverage outcome
    Local signal evidence / remote coverage unmeasured

Observation gap

  1. Empty observer view

    Missing has observationPresent false and health unknown. No observer record establishes neither source-event absence nor service health.

    Public telemetry records
    No observation / health unknown
    Signal comparison
    Not yet evaluated
    Coverage outcome
    Not yet evaluated
  2. Missing coverage conditions

    Sampling, export success and retained window are unknown. Copying normal export or unsampled explanations would invent a verified cause for this missing state.

    Public telemetry records
    No observation / health unknown
    Signal comparison
    Sampling/export/window missing
    Coverage outcome
    Not yet evaluated
  3. Do not compute a rate

    Denominator 0 and windowRate null are retained. Reporting zero errors adds an instrumentation-completeness assumption; businessEventAbsenceProved remains false.

    Public telemetry records
    No observation / health unknown
    Signal comparison
    Sampling/export/window missing
    Coverage outcome
    No fraction / event absence unproved
  4. Required observation binding

    Signal purpose, active instrumentation, sampling, export outcome and observation window are needed. A public correlation alias binds to the same action without secrets or private bodies.

    Public telemetry records
    Needed: instrumentation/sampling/export/window
    Signal comparison
    Sampling/export/window missing
    Coverage outcome
    No fraction / event absence unproved
  5. Bound causal conclusions

    Nearby clocks or equal titles do not prove event completion. Business results need their receiver and telemetry receipt its sink; neither fills the other gap.

    Public telemetry records
    Needed: instrumentation/sampling/export/window
    Signal comparison
    Business and telemetry recipients distinct
    Coverage outcome
    No fraction / event absence unproved
  6. Retain unknown honestly

    This review records a visibility gap without inventing events or health. Rates and outcomes can be reevaluated when new evidence identifies window and recipient boundaries.

    Public telemetry records
    Needed: instrumentation/sampling/export/window
    Signal comparison
    Business and telemetry recipients distinct
    Coverage outcome
    Visibility unknown / collect scoped signal evidence

IMPLEMENTATION · SECURITY CONTROL · VERIFICATION

Define what each signal counts and carries

Define log purpose, safe output fields, and correlation aliases rather than raw secrets or entire upstream objects. Record counter-reset scope and operation/status dimensions. Histogram or duration interpretation needs units, a window, and a source clock; authored logical ticks are not milliseconds or a benchmark. Show shared traceAlias and an exact parentAlias relationship for root/child spans. Equal names alone do not establish parent context.

The native check derives cumulative totals from actual public-call adapter decisions and compares them against separately parsed result lists. Sampled=false requests remain in metrics. An own StringIO sink produces structured logs, and an independent JSON parser checks selected fields. Fake seeds are absent from output while the source object remains equal. This is Python/local-writer evidence, not an SDK exporter/backend or a production-log capture.

Show visibility gaps beside business outcomes

Use separate branches for export errors, unsampled traces, and missing observations. A local successful public read can survive exporter failure while the signal store remains incomplete; record a diagnostic gap rather than health success. The unsampled branch has a declared explanation for trace0, whereas a missing observation may lack that verified explanation. Best-effort policy here concerns operational public reads; security-sensitive audit retention and access policy need separate design.

The selector detects the inconsistent combination exportOk=false and visibilityConfirmed=true. The degraded-visibility row yields count=0 and the inconsistent positive row count=1; missing rows remain insufficient evidence. A completed business response establishes neither instrumentation recording nor remote telemetry receipt. Observe request outcome, recording and export receipt separately for the same work.

NOW APPLY IT TO THE CASE

If the trace is absent, was the request absent too?

Three public calls have statuses 200, 503 and 200, while only the first two traces are retained. A public read can complete with 200 despite an export-sink error. Counters, sampled traces and exported records cover different scopes; correlation aliases are not wire trace IDs.

Evaluate the case data journey together with environment, dependency and telemetry context. Does an operational-success label establish every application outcome?

Open the related case file ↗

READ THE EXAMPLE TOGETHER

Public telemetry / visibility ledger

Select a field and examine what it supports and where the evidence ends.

Read the raw artifact and field explanations
{
  "schema": {
    "fields": [
      "event",
      "operation",
      "correlationAlias"
    ],
    "classification": "public synthetic diagnostic only",
    "recordIsVendorFormat": false,
    "traceAliasesAreWireIds": false
  },
  "normal": {
    "rawFakeInput": {
      "event": "public-read-completed",
      "operation": "read-public-note",
      "correlationAlias": "request-demo",
      "authorizationAlias": "demo-token-alias",
      "sessionAlias": "demo-session-alias"
    },
    "exported": {
      "event": "public-read-completed",
      "operation": "read-public-note",
      "correlationAlias": "request-demo"
    },
    "businessResult": {
      "status": 200,
      "title": "Tea note"
    },
    "exportedRecords": 1,
    "sourceMutated": false
  },
  "window": {
    "adapterStatuses": [
      200,
      503,
      200
    ],
    "sampled": [
      true,
      true,
      false
    ],
    "requestTotal": 3,
    "successTotal": 2,
    "errorTotal": 1,
    "retainedRequestTraces": 2,
    "errorFraction": {
      "numerator": 1,
      "denominator": 3
    },
    "scope": "finite own adapter window; not global service rate"
  },
  "spans": [
    {
      "traceAlias": "trace-demo",
      "spanAlias": "span-root",
      "parentAlias": null,
      "operation": "read-public-note",
      "logicalStart": 10,
      "logicalEnd": 14,
      "logicalDuration": 4
    },
    {
      "traceAlias": "trace-demo",
      "spanAlias": "span-child",
      "parentAlias": "span-root",
      "operation": "local-note-read",
      "logicalStart": 11,
      "logicalEnd": 13,
      "logicalDuration": 2
    }
  ],
  "unsampled": {
    "status": 200,
    "metricIncrement": 1,
    "sampled": false,
    "retainedTraces": 0,
    "businessCompleted": true
  },
  "exportFailure": {
    "status": 200,
    "businessCompleted": true,
    "exportOk": false,
    "exportedRecords": 0,
    "visibilityConfirmed": false,
    "observedFailure": "own sink OSError",
    "policy": "explicit best-effort public diagnostics; not mandatory audit"
  },
  "missing": {
    "observationPresent": false,
    "health": "unknown",
    "businessEventAbsenceProved": false,
    "windowRate": null,
    "denominator": 0
  },
  "limits": {
    "actualProductionLogsRead": false,
    "otelSdkExecuted": false,
    "collectorExecuted": false,
    "remoteExporterExecuted": false,
    "realSecretsRead": false,
    "realLatencyMeasured": false,
    "authorizationVerified": false
  },
  "selector": {
    "language": "XPath",
    "xml": "<audit><telemetry exportOk=\"false\" visibilityConfirmed=\"false\"/></audit>",
    "xpath": "count(/audit/telemetry[@exportOk='false' and @visibilityConfirmed='true'])",
    "expected": 0,
    "positiveFixtureXml": "<audit><telemetry exportOk=\"false\" visibilityConfirmed=\"true\"/></audit>",
    "positiveExpected": 1,
    "scope": "Own inert decision observations, not vendor log fields.",
    "missingFieldBehavior": "Missing observation is insufficient evidence; zero matches alone proves no healthy runtime/control."
  }
}
normal/schema
Own public output schema only; seeded fake aliases redacted.
window/spans
Finite counters and authored logical parent intervals have different scopes.
unsampled/exportFailure/missing
Recording decisions, sink errors, and no evidence carry different knowledge.
selector/limits
No production capture, SDK/backend, real secret, or latency claim.

Actual own local adapters, structured stream, and counts; spans are logical authored context fixtures. No real logs/secrets, OpenTelemetry SDK/collector/backend, remote exporter, or latency capture.

Two reality checks

No trace or error log means no request or error occurred.

Sampling, export, retention, or observation gaps can explain absence; no signal is not proof of no event.

A correlation ID and log success prove authority or business commit.

Correlation links context; permissions and authoritative business results are verified by their own owners.

YOUR TURN

Work through this story.

Predict the outcome, find the evidence boundary, and explain it in your own words.

A request completed with status 200, but sampled=false and retainedTraces=0. Does that prove it was omitted from metrics too?

  1. Yes. Without a retained trace, the request never occurred.
  2. No. metricIncrement=1 and businessCompleted=true.
Read the explained answer

No. metricIncrement=1 and businessCompleted=true. — No trace is retained for this request, but the metric increments. Trace count is not total request count.

The public-diagnostic export failed. Are returning the response and making the log visible the same success?

Selected lesson artifact fields; teaching example

exportFailure.status
200
exportFailure.businessCompleted
true
exportFailure.exportOk
false
exportFailure.visibilityConfirmed
false
exportFailure.policy
explicit best-effort public diagnostics; not mandatory audit
  1. No. The business operation completes; export visibility is not confirmed.
  2. A 200 response proves every log sink received the record.
Read the explained answer

No. The business operation completes; export visibility is not confirmed. — Even with status=200 and businessCompleted=true, exportOk=false and visibilityConfirmed=false. This policy does not stop the response, but provides no log-delivery evidence.

The window has three requests, one error and two retained traces. Why is missing observation with denominator=0 not an error rate of zero?

Read the explained answer

For the supplied window, errorFraction is 1/3. Sampling leaves two retained traces while the metric denominator is three. The missing branch has observationPresent=false and windowRate=null; denominator=0 is not evidence of a zero error rate. Trace aliases provide logical correlation, not user identity or wire-ID verification. Fake session/authorization aliases outside the public allowlist are not exported, but this is not a full-anonymization guarantee.

□ I did not substitute trace count for the metric denominator.

□ I did not turn missing observation into a zero error rate or healthy-service verdict.

Open the application console · request / response / browser
Also open request, URL, cookie and DOM examples

Sources and scope