一键导入
telemetry-foundations
Declarative OpenTelemetry-aligned telemetry vocabulary and instrumentation conventions for traces, metrics, logs, and PII handling
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Declarative OpenTelemetry-aligned telemetry vocabulary and instrumentation conventions for traces, metrics, logs, and PII handling
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | telemetry-foundations |
| description | Declarative OpenTelemetry-aligned telemetry vocabulary and instrumentation conventions for traces, metrics, logs, and PII handling |
A shared vocabulary for observability across HVE Core agents. This skill describes what telemetry data exists and how it is named, not which SDK or vendor to use. Agents producing planning artifacts (ADRs, PRDs, security/RAI plans, code-review reports) and agents producing user-facing application code reference this skill so that downstream pipelines (traces, metrics, logs) speak a consistent OpenTelemetry-aligned language.
Apply this skill in the following situations:
The vocabulary in this skill follows five principles:
Spans describe a unit of work and its causal relationship to other work.
Span kinds:
server - inbound request handled by this service.client - outbound request issued by this service.producer - asynchronous message published to a queue or topic.consumer - asynchronous message received from a queue or topic.internal - in-process operation with no remote peer.Required resource-scoped attributes on every span:
service.nameservice.versiondeployment.environmentSpan naming pattern: <verb>.<resource> using lowercase dot-separated tokens. The verb describes the operation (get, create, publish, consume, query); the resource describes the target entity (order, customer, payment.intent). Examples: get.order, publish.order.created, query.customer.by_email.
For domains covered by OTel semantic conventions (HTTP, RPC, database, messaging, GenAI, FaaS), use the convention's span-naming guidance instead of the generic pattern above.
Metrics describe aggregate measurements over time.
Instrument types:
counter - monotonic, additive (request count, bytes sent).up-down-counter - non-monotonic, additive (queue depth, active connections).histogram - distribution of values (request duration, payload size).gauge - last-sampled value, non-additive (CPU temperature, memory in use).observable-counter, observable-up-down-counter, observable-gauge - async variants polled by the SDK.Unit conventions follow UCUM. Examples: s (seconds), ms (milliseconds), By (bytes), 1 (dimensionless count). Express durations as histograms in seconds (s) by default to align with OTel HTTP semantic conventions.
Metric naming pattern: <domain>.<entity>.<measure> using lowercase dot-separated tokens. Examples: http.server.request.duration, db.client.connections.usage, messaging.publish.duration.
Cardinality discipline: every attribute attached to a metric multiplies the time-series count. Bound high-cardinality dimensions (user ID, request ID, free-form strings) at the source or move them to exemplars and traces.
Structured logs carry discrete events with severity and context.
Severity levels (OTel log data model):
TRACE - fine-grained diagnostic detail, off by default.DEBUG - diagnostic detail useful during development.INFO - normal operational events.WARN - unexpected condition that does not block the operation.ERROR - operation failed; the caller likely saw a failure.FATAL - process is going to terminate.Recommended structured fields on every log record:
timestamp (ISO-8601, UTC).severity_text and severity_number.body (the human-readable message; structured data goes in attributes).attributes.* (typed key-value pairs scoped to this event).resource.* (inherited from the producing service).Trace correlation: when a log record is emitted within an active span, inject trace_id and span_id so traces and logs join cleanly downstream. Logging libraries that integrate with the OTel context propagator do this automatically.
Personally Identifiable Information is handled by denylist. The authoritative list lives in references/pii-denylist.md. Treat any field on that list as default-deny: do not emit it as a span attribute, metric dimension, or log field without an explicit redaction strategy.
Redaction patterns:
Identifier convention: where a stable user reference is needed in telemetry, use user.id populated with an opaque hash of the canonical user identifier, never the raw email, phone, or external account ID.
When introducing a new attribute that could contain PII, add it to the denylist first and choose a redaction strategy before emitting it.
Sampling controls the volume of telemetry shipped to downstream collectors.
Sampling strategies:
Defaults:
Metric and log sampling: metrics are pre-aggregated and rarely sampled; logs are typically rate-limited per severity rather than sampled.
Resource attributes describe the entity producing the telemetry and are attached to every span, metric, and log record automatically by the SDK.
Required:
service.nameservice.versiondeployment.environmenttelemetry.sdk.nametelemetry.sdk.languagetelemetry.sdk.versionRecommended when applicable:
cloud.* (cloud provider, region, account ID).k8s.* (cluster name, namespace, pod name).host.* (hostname, architecture, OS type).Follow the OTel Resource Semantic Conventions for canonical attribute names.
Use this quick-select when choosing whether and how to instrument:
server, client, producer, or consumer kind and propagate context.Authoritative external sources:
Portions adapted from OpenTelemetry Semantic Conventions, (C) OpenTelemetry Authors, licensed under CC BY 4.0.
Internal:
Canonical documentation capability for audit, drift, validate, and author modes in hve-core.
Text-to-speech voice-over generation from YAML speaker notes using Azure Speech SDK with SSML pronunciation control
PowerPoint slide deck generation and management using python-pptx with YAML-driven content and styling
Authors Vally conformance tests for prompts, instructions, agents, and skills, including refusals for jailbreak, prompt-injection, harmful-elicitation, TOS, CoC, and PII-extraction stimuli
Manage GitLab merge requests and pipelines with a Python CLI
Jira issue workflows for search, issue updates, transitions, comments, and field discovery via the Jira REST API. Use when you need to search with JQL, inspect an issue, create or update work items, move an issue between statuses, post comments, or discover required fields for issue creation.