Skip to content

Signal Areas

This page maps every signal area synthkit can emit. Each entry links to the authoritative signals/<area>.md source file. For how to read the yaml signals blocks, the verification legend, and the scope/sink concepts, see Reading the Catalogue. For the constructs that emit these signals, see Constructs. For the blueprint declarations that gate which constructs are active, see Emission Switches.

The catalogue is organised into groups below. The Scope column is blueprint (carries a blueprint= selector label) or substrate (disambiguated by declared identity — no blueprint label). The Sink(s) column uses the short identifiers: promrw = Prometheus Remote-Write v2 → Mimir; otlp = hand-encoded OTLP → Tempo; loki = Loki push; faro = Faro collector; pyroscope = Pyroscope push.


AWS / CloudWatch

Area fileWhat it modelsScopeSink(s)
signals/cw.mdAWS CloudWatch metric-stream families: ALB, NLB, EC2, EBS, NAT Gateway, S3, EKS control-plane, Firehose, RDS, ElastiCache, MWAA, DocumentDB, Neptune, OpenSearch Serverless, Glue, PrivateLink. 5-stat gauge expansion (_sum/_average/_maximum/_minimum/_sample_count) per metric. The CW naming convention (aws_<namespace>_<metric>_<stat>) is stated here as LAW and referenced everywhere else.blueprintpromrw

CloudWatch naming convention

Every _sum-suffixed series is a per-period gauge, not a monotonic counter. Never apply rate() or increase() to any _sum series — use the raw value or delta(). There are no _bucket series on any CW family.


Kubernetes + add-ons

Area fileWhat it modelsScopeSink(s)
signals/k8s.mdKubernetes monitoring substrate: KSM (kube_*), node-exporter (node_*), cAdvisor (container_*), kubelet (kubelet_*), conformance/discovery, Kubernetes Events log stream, and add-on pod correlation labels. The k8s-addon-pod-correlation family joins add-on pod identity into the k8s series via shared fixture.PodIP.substratepromrw (+ loki for events)
signals/k8s-addons.mdk8s controller add-ons: AWS Load Balancer Controller, ExternalDNS, CoreDNS, VPC CNI, cert-manager, cluster-autoscaler, EBS-CSI driver, KSM ingress extension, Karpenter, ArgoCD, Envoy Gateway. Each emits its own Prometheus metrics families; all substrate-scoped, disambiguated by cluster + k8s_cluster_name.substratepromrw

Databases / dbo11y

Area fileWhat it modelsScopeSink(s)
signals/dbo11y.mdGrafana Cloud Database Observability — MySQL (dbo11y_mysql_*) and Postgres (dbo11y_pg_*) metric families plus their matching structured log streams. Substrate-scoped; disambiguated by instance (connection URI), server_id (64-hex SHA-256), and db_instance_identifier. Live-validated against the Grafana Cloud Database Observability product stack. Two independently-gated lanes; both default off; cross-signal join key is the DB Name, which also links to the CSP hosting metrics and trace db-leaf spans.substratepromrw + loki

Emission switch

A databases: entry in a blueprint can gate the CloudWatch RDS lane (cloudwatch: true/false) and the dbo11y lane (dbo11y: true/false) independently. Both default to their own values; neither forces the other on.


Cloud providers (CSP)

Area fileWhat it modelsScopeSink(s)
signals/cspazure.mdAzure Monitor metrics via two paths: the GC managed serverless scraper and azure_exporter. Covers: Compute (VMs), SQL Database, Postgres Flexible Server, Storage Accounts, Load Balancer, Application Gateway, Front Door, VNet, Event Hubs, Service Bus. Label shapes differ between the two scraper paths (resourceID casing, resourceName join form). Substrate-scoped; disambiguated by subscriptionID + resourceID.substratepromrw
signals/cspgcp.mdGCP Cloud Monitoring families via Alloy prometheus.exporter.gcp (embeds stackdriver_exporter). Covers: Compute Engine, Cloud SQL, AlloyDB, Cloud Storage, Networking, Load Balancing, Pub/Sub, Cloud Run, Bigtable. Substrate-scoped; disambiguated by project_id + database_id / resource identity.substratepromrw
signals/cloudflare.mdCloudflare zone analytics (cloudflare_zone_*) and tunnel metrics (cloudflare_tunnel_*). Unlike the Azure/GCP CSP families, Cloudflare is blueprint-scoped and carries the blueprint selector label.blueprintpromrw

APM / Traces / Logs / RUM

Area fileWhat it modelsScopeSink(s)
signals/apm.mdAPM span-metrics and service-graph families derived by Tempo's metrics-generator: traces_spanmetrics_calls_total, traces_spanmetrics_latency_*, traces_spanmetrics_size_*, traces_service_graph_request_total, traces_service_graph_request_duration_seconds_*, traces_target_info. Blueprint-scoped; uses deployment_environment_name (the OTel semconv _name form).blueprintpromrw
signals/traces.mdDistributed traces — one connected span tree per request: browser ROOT → server CLIENT → db/cache leaf spans, plus typed AI hops (gateway/model/agent/tool/workflow/retrieval). Hand-encoded multi-Resource ResourceSpans protobuf delivered via OTLP. Span attributes, resource attributes, and the correlation key-set (app.correlation_id, trace_id, span_id) are defined here. Blueprint-scoped (carried by web_service workload).blueprintotlp
signals/logs.mdAll log emission: blueprint-scoped application logs, Faro/RUM frontend beacons (via Faro collector), user-action events, browser spans (OTLP), k8s-addon log streams (substrate), derived cloud log streams, and SM probe logs. Covers both blueprint-scoped (logs-app, logs-faro-rum, logs-user-actions, logs-browser-spans) and substrate-scoped (logs-k8s-addons, logs-derived-cloud) families.blueprint + substrateloki + faro + otlp

AI & LLM

Area fileWhat it modelsScopeSink(s)
signals/genai.mdOTel gen_ai semantic-convention span attributes and gen_ai_client_* / gen_ai_server_* metric families. Workload-emitted (the web_service AI hops); vocabulary lives in internal/genai. Two core client metrics (gen_ai_client_token_usage, gen_ai_client_operation_duration_seconds) are live-confirmed; streaming families are v: assumed. Labels use gen_ai_provider_name (current OTel spelling; replaces the legacy gen_ai_system).blueprintpromrw + otlp
signals/genai-models.mdThe per-model LLM catalogue — model IDs, families, cost per 1M input/output tokens, and volume weights for all four platforms: AWS Bedrock, Azure OpenAI, OpenAI, Vertex AI. This is a reference table (mirror of internal/genai/models.go), not an emitted signal family. No scope or sink.
signals/portkey.mdPortkey LLM gateway telemetry: the gateway pods' /metrics scrape (portkey_* + node_*), the Portkey Analytics API poll (portkey_api_* gauges), the export log stream, and derived recording rules. Two constructs share this contract (portkey_gateway and portkey_poller). Substrate-scoped; disambiguated by gateway instance identity.substratepromrw + loki
signals/bedrock.mdAWS Bedrock CloudWatch metric-stream families: AWS/Bedrock (model invocations, latency, token usage, guardrail evaluations), AWS/Bedrock/Agents (agent step execution), AWS/Bedrock/Guardrails (guardrail evaluations). Plus the Bedrock invocation JSON log stream. Blueprint-scoped; uses the standard CW 5-stat gauge expansion.blueprintpromrw + loki
signals/agentcore.mdAWS Bedrock AgentCore CloudWatch families: AWS/Bedrock-AgentCore invocation-class metrics and resource-usage metrics. Plus the AgentCore JSON log stream. Blueprint-scoped; same CW naming convention as other AWS namespaces.blueprintpromrw + loki
signals/langsmith.mdLangSmith platform telemetry: self-hosted LangSmith services' /metrics scrape (standard process/Python/ClickHouse/Redis/Postgres/nginx exporters), the LangSmith feedback API poll (langsmith_eval_* quality gauges), and the LangSmith runs log stream. Substrate-scoped; two constructs (langsmith_platform, langsmith_eval).substratepromrw + loki
signals/snowflake.mdSnowflake account telemetry via Alloy prometheus.exporter.snowflake — 27 gauge families from ACCOUNT_USAGE views. Not a CloudWatch source. Substrate-scoped; disambiguated by Snowflake account identity.substratepromrw

Network topology

Area fileWhat it modelsScopeSink(s)
signals/nettopo.mdSNMP-based network topology exporter (github.com/colinedwardwood/network-topology-exporter): device inventory (nettopo_device_info), reconciled topology edges, edge-change/conflict events, discovery health, freshness gauges, exporter self-observability. Gated sub-families: session-pool metrics, federation hub/spoke metrics, OTLP-push metrics. Plus a structured log stream. Substrate-scoped; disambiguated by device and topology identity labels. The model label is absent (no ENTITY-MIB upstream); uptime is bounded to < 497 days.substratepromrw + loki

Profiling

Area fileWhat it modelsScopeSink(s)
signals/profiles.mdGrafana Pyroscope continuous profiling — four emitter shapes: eBPF system profiling, pprof-scrape (Go/Python/.NET), Java async-profiler, and SDK push (Go/Python). Profile types, __profile_type__ selectors, pyroscope_spy values, source label shapes, and per-runtime label sets. Both blueprint-scoped (SDK-instrumented services) and substrate-scoped (eBPF node-level) families.blueprint + substratepyroscope

Synthetic Monitoring

Area fileWhat it modelsScopeSink(s)
signals/sm.mdGrafana Cloud Synthetic Monitoring fake check results — sm_check_* metric families and SM probe log streams. Substrate-scoped; disambiguated by check identity (job, instance, probe, config_version, check_name). Never carries a blueprint label.substratepromrw + loki

Fleet Management

Area fileWhat it modelsScopeSink(s)
signals/fm.mdGrafana Fleet Management + Alloy meta-health + content sentinel. Three families: fm-fleet (fake collector-agent inventory metrics, fleet_*), fm-alloy-health (in-cluster Alloy pod health metrics), fm-content-sentinel (synthkit_content_dropped_total + synthkit_content_leak_test — proves the content strip is running and nothing is leaking). Substrate-scoped; disambiguated by cluster + collector_id.substratepromrw

Host exporters

Area fileWhat it modelsScopeSink(s)
signals/host.mdStandalone (non-Kubernetes) host telemetry via Grafana Alloy integrations: Linux node_exporter (node_*), macOS node_exporter build (node_* mac profile), windows_exporter (windows_*), Docker cAdvisor (container_*). Per-OS log streams. Two profiles (integration / full). Shares internal/nodeexp with the k8s node-exporter profile. Substrate-scoped; disambiguated by host identity (instance, job).substratepromrw + loki

Beyla (eBPF auto-instrumentation)

Area fileWhat it modelsScopeSink(s)
signals/beyla.mdGrafana Beyla eBPF auto-instrumentation: RED metrics (http_server_request_duration_seconds, http_server_request_body_size_bytes, http_client_*), network-flow metrics (beyla_network_flow_bytes_total), span-metric cross-references, and Beyla internal agent metrics. Two contexts: ebpf_only (no SDK) and coexist_sdk (Beyla alongside an OTel SDK). Traces delivered via OTLP. Dual-scoped: RED and span-metric families are blueprint-scoped (emitted via the web_service Beyla lane); network-flow and internal metrics are substrate-scoped.blueprint + substratepromrw + otlp

Native OTLP metrics

Area fileWhat it modelsScopeSink(s)
signals/otlp-metrics.mdNative OTLP application metrics emitted by the web_service workload when otel: { metrics: true } is declared. Ships OTel semantic instrument names (http.server.request.duration, http.server.active_requests) via OTLP/HTTP rather than pre-mangled Prometheus RW2. Documents both the emitted OTLP instruments and the expected post-gateway Prometheus shape (http_server_request_duration_seconds, http_server_active_requests, target_info, otel_scope_*) for both naked and k8s_monitoring resource modes. Blueprint-scoped.blueprintotlp

Qualification pipeline

Area fileWhat it modelsScopeSink(s)
signals/qualification.mdGitLab CI qualification and validation pipeline telemetry: the gitlab_ci_pipeline_* family from mvisonneau/gitlab-ci-pipelines-exporter (exporter-doc verified) plus a coined qualification_* suite-signal family for synthkit's own validation pass results. Metric names and label keys confirmed against upstream exporter documentation. Plus a structured Loki log stream. Substrate-scoped; no blueprint label.substratepromrw + loki

Cross-cutting reference

The global rules that apply to every area above — push topology, blueprint selector stamping, scope invariants, environment-label-key variance, the correlation key-set, the cardinality hard limit, the content-strip rule, and the realistic-shape model — live in signals/00-canon.md. Area files reference these by slug ([slug: cardinality], [slug: scoping], etc.) and never restate them.

For how to read and verify the catalogue, see Reading the Catalogue. For open / unverified items, see cantfind.md.