Skip to content

feat(generators): emit simulated host identity on every record (PIPE-1036) - #280

Open
Dylan-M wants to merge 10 commits into
dylanmyers/pipe-1253-resource-array-attrsfrom
dylanmyers/pipe-1036-identity-projection
Open

feat(generators): emit simulated host identity on every record (PIPE-1036)#280
Dylan-M wants to merge 10 commits into
dylanmyers/pipe-1253-resource-array-attrsfrom
dylanmyers/pipe-1036-identity-projection

Conversation

@Dylan-M

@Dylan-M Dylan-M commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Stacked on #279

Proposed Change

Projects a resolved host identity onto every emitted record, so telemetry describes
a simulated fleet rather than the machine blitz runs on.

  • resource.FromIdentity maps a SystemIdentity to its OpenTelemetry resource
    attributes: host.name, host.id, host.arch, the os.* set, host.ip[] /
    host.mac[], deployment.environment.name, and telemetry.source. Empty fields
    are omitted, and os.type carries the semconv value (macOS becomes darwin).
  • Dispatch resolves one host per generator, keyed by component, and threads it into
    hostmetrics, traces, and all twelve log generators.
  • SystemIdentity gains authentic OS release data, host.id, the full semconv
    host.arch set, and deployment tiers.
  • host.image.* is a reserved hook and is not emitted.

With no environment configured, generators keep the process-hostname fallback, so
default output is unchanged.

Out of scope: per-worker host granularity. One host maps to one generator today; a
per-worker opt-in is a planned follow-up.

Validation: run blitz with an environment: block and the stdout output, and
confirm records carry host.name / host.id / os.type /
deployment.environment.name from the simulated fleet rather than the local host.
Tests cover the projection (full, sparse, and nil identities, the macOS os.type
mapping, the host.ip / host.mac arrays, and host.image.* never emitted),
per-generator identity, and dispatch wiring end to end.

Checklist
  • Changes are tested
  • CI has passed

@Dylan-M Dylan-M changed the title feat(datagen): expand Arch to full semconv host.arch set + ParseArch (PIPE-1036) feat(generators): emit simulated host identity on every record (PIPE-1036) Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant