@moon791017/neo-skills 1.1.11 → 1.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,113 @@
1
+ # Signals and Sampling
2
+
3
+ Use this reference to select signals, reason about correlation, and evaluate sampling. Signal maturity and feature support can change; verify current status before making version-dependent claims.
4
+
5
+ ## Signal selection
6
+
7
+ | Signal | Primary question | Operational strengths | Important limitations |
8
+ | --- | --- | --- | --- |
9
+ | Traces | How did one request travel through the system? | Causality, dependency paths, per-request latency, error localization | Volume can be high; incomplete propagation fragments traces |
10
+ | Metrics | What is happening in aggregate over time? | Alerting, trends, capacity, SLI/SLO measurement | Aggregation loses individual-event detail; dimensions can create high cardinality |
11
+ | Logs | What discrete event occurred? | Detailed event records and existing operational workflows | Unstructured records are costly to normalize; correlation requires context |
12
+ | Baggage | What request-scoped context must be available downstream? | Carries selected context across service boundaries | Propagates broadly, is not automatically a signal attribute, and has security risks |
13
+ | Profiles | Where are CPU, memory, or other resources being consumed? | Resource bottlenecks and correlation with slow requests or resource spikes | Availability, status, and supported profile types depend on current tooling |
14
+
15
+ Do not replace one signal with another merely because they share attributes. Prefer correlation through stable resource identity and trace context.
16
+
17
+ ## Traces
18
+
19
+ A trace represents the path of a request and contains one or more spans. A span represents one unit of work and can carry timing, status, attributes, events, and links. Parent-child relationships describe causal or nested work.
20
+
21
+ Review trace quality by checking:
22
+
23
+ - Root and child span boundaries reflect meaningful operations.
24
+ - Trace and parent identifiers remain continuous across boundaries.
25
+ - Attributes follow semantic conventions and avoid sensitive or unbounded values.
26
+ - Error state and latency are represented consistently enough for sampling and analysis.
27
+ - Resource identity distinguishes services and instances.
28
+
29
+ ## Metrics
30
+
31
+ A metric represents measurements aggregated over time. Operationally, distinguish:
32
+
33
+ - Additive changes from current-state values.
34
+ - Monotonic values from values that may rise or fall.
35
+ - Cumulative from delta temporality.
36
+ - Metric identity from attribute dimensions.
37
+
38
+ Cardinality is the number of distinct time series produced by the combination of metric identity and attributes. User IDs, request IDs, raw URLs, and other unbounded values can make a metric operationally expensive or unusable. Prefer bounded dimensions that support an explicit operational question.
39
+
40
+ When multiple Collector instances handle the same metric stream, preserve a globally unique writer identity and avoid duplicate writers that can create gaps, jumps, or out-of-order samples.
41
+
42
+ ## Logs
43
+
44
+ OpenTelemetry can receive, normalize, correlate, process, and export existing logs. Structured logs have a stable schema or typed fields; JSON encoding alone does not guarantee structure. Semistructured and unstructured logs usually need parsing and normalization before reliable analysis.
45
+
46
+ Operational priorities:
47
+
48
+ 1. Preserve event time and observed time when both are available.
49
+ 2. Add resource identity at collection time when the source does not provide it.
50
+ 3. Correlate logs with trace and span identifiers where supported.
51
+ 4. Normalize schemas before downstream rules depend on them.
52
+ 5. Filter or redact sensitive fields before export.
53
+
54
+ Language logging bridges and application logging code are outside this skill.
55
+
56
+ ## Baggage
57
+
58
+ Baggage is propagated contextual data, separate from span, metric, and log attributes. A baggage item is not automatically copied into telemetry attributes.
59
+
60
+ Use baggage only when downstream components genuinely need request-scoped context. Never place credentials, API keys, session tokens, personal information, or other sensitive data in baggage. Define trust-boundary rules for accepting and forwarding baggage because it can leave the controlled network through automatic propagation.
61
+
62
+ ## Profiles
63
+
64
+ Profiles contain samples and metadata describing resource consumption over time. They can complement:
65
+
66
+ - Metrics by explaining a CPU or memory spike.
67
+ - Traces by locating resource consumption associated with a slow request.
68
+ - Logs by connecting a failure event to resource pressure.
69
+
70
+ Keep profile collection details out of recommendations unless current official support has been verified for the target environment.
71
+
72
+ ## Sampling
73
+
74
+ Sampling reduces trace volume by retaining a representative subset. Filtering and aggregation may also reduce data, but they do not automatically preserve representativeness.
75
+
76
+ ### Head sampling
77
+
78
+ Head sampling decides early without examining the complete trace. It is comparatively simple and efficient, but cannot reliably retain every trace that later becomes slow or erroneous.
79
+
80
+ Use head sampling when an early, consistent probability decision satisfies the observability goal and the lost late-trace information is acceptable.
81
+
82
+ ### Tail sampling
83
+
84
+ Tail sampling decides after receiving all or most spans in a trace. It can retain traces based on whole-trace criteria such as errors, latency, attributes, or service-specific policy.
85
+
86
+ Tail sampling is stateful and operationally expensive. It requires:
87
+
88
+ - Enough memory and decision time to retain spans awaiting a decision.
89
+ - Routing that sends every span for a trace to the same sampling instance.
90
+ - Monitoring for dropped spans, late spans, decision-cache pressure, and uneven routing.
91
+ - Reassessment as traffic and service behavior change.
92
+
93
+ For multiple gateways, trace-ID-aware routing is necessary but does not remove every scaling caveat. Prefer a single adequately sized tail-sampling gateway until the need for a distributed design and its consistency strategy are demonstrated.
94
+
95
+ ### Sampling decision checklist
96
+
97
+ 1. Identify the cost or capacity problem sampling must solve.
98
+ 2. State what information may be lost and whether regulation permits dropping it.
99
+ 3. Measure trace volume and traffic variation by service.
100
+ 4. Define required retention rules for errors, latency, or business-critical traffic.
101
+ 5. Choose head sampling unless whole-trace evidence is required.
102
+ 6. If using tail sampling, design trace-affine routing and capacity before enabling it.
103
+ 7. Validate the retained population and monitor sampling infrastructure.
104
+
105
+ ## Official sources
106
+
107
+ - [Signals](https://opentelemetry.io/docs/concepts/signals/)
108
+ - [Traces](https://opentelemetry.io/docs/concepts/signals/traces/)
109
+ - [Metrics](https://opentelemetry.io/docs/concepts/signals/metrics/)
110
+ - [Logs](https://opentelemetry.io/docs/concepts/signals/logs/)
111
+ - [Baggage](https://opentelemetry.io/docs/concepts/signals/baggage/)
112
+ - [Profiles](https://opentelemetry.io/docs/concepts/signals/profiles/)
113
+ - [Sampling](https://opentelemetry.io/docs/concepts/sampling/)
@@ -0,0 +1,60 @@
1
+ # Sources, Scope, and Currency
2
+
3
+ ## Source snapshot
4
+
5
+ This skill was derived from the English OpenTelemetry documentation stored at:
6
+
7
+ - Repository: `https://github.com/open-telemetry/opentelemetry.io`
8
+ - Source subtree: `content/en/docs`
9
+ - Revision: `b18eb4d01fab9be2c5c22b1aaafdeb23ba97e3d4`
10
+ - Revision timestamp: `2026-07-17T02:20:14Z`
11
+ - Documentation root: `https://opentelemetry.io/docs/`
12
+
13
+ The source subtree contained 423 Markdown files at generation time. The material was curated and rewritten rather than copied wholesale.
14
+
15
+ ## Included source areas
16
+
17
+ - `what-is-opentelemetry.md`
18
+ - Non-programming material from `concepts/`
19
+ - Collector architecture, components, configuration, installation, deployment, management, internal telemetry, resiliency, scaling, transformation, troubleshooting, distributions, benchmarks, and registry material
20
+ - Operational material from `getting-started/ops.md`
21
+ - Prometheus interoperability and migration concepts from `compatibility/`
22
+ - Non-programming platform blueprints and reference-implementation lessons from `guidance/`
23
+ - Kubernetes, FaaS automatic instrumentation, and operational platform material from `platforms/`
24
+ - Security and sensitive-data material from `security/`
25
+ - Zero-code and OBI operational material from `zero-code/`
26
+ - Non-programming demo architecture or operational lessons only when they clarify an included concept
27
+
28
+ ## Excluded source areas
29
+
30
+ - All language API and SDK instructions under `languages/`
31
+ - Code-based instrumentation and language-library integration
32
+ - Developer getting-started and reference-application implementation material
33
+ - Collector source builds, Collector Builder, and custom component development under `collector/extend/`
34
+ - Manual FaaS instrumentation
35
+ - Demo service source, development, tests, and manual span examples
36
+ - Contribution workflow and website-development documentation
37
+ - API, SDK, data-model implementation, and programming-oriented specification pages
38
+ - Source-code snippets in Java, C#, Go, JavaScript, TypeScript, Python, PHP, Ruby, Rust, Swift, C++, and other programming languages
39
+
40
+ Mixed pages were reduced to concepts, declarative YAML or JSON configuration, environment variables, and operational shell, Docker, cloud, or Kubernetes commands. High-level references to an API or SDK may remain only when needed to state a system boundary or migration limitation; this skill never provides their programming interface.
41
+
42
+ ## Currency policy
43
+
44
+ The snapshot is evidence for the content as of its revision. It is not evidence that a version, status, default, component, platform matrix, security advisory, image, package, or command remains current.
45
+
46
+ Verify against official sources before answering time-sensitive questions about:
47
+
48
+ - Collector, Operator, Helm, OBI, FaaS layer, or semantic-convention versions.
49
+ - Signal or component maturity.
50
+ - Component availability in a distribution.
51
+ - Runtime, platform, kernel, architecture, or protocol support.
52
+ - Default endpoints, limits, queue behavior, or feature gates.
53
+ - CVEs, security advisories, and mitigations.
54
+ - Migration shims and compatibility guarantees.
55
+
56
+ If current verification is unavailable, state:
57
+
58
+ 1. The claim is based on revision `b18eb4d01fab9be2c5c22b1aaafdeb23ba97e3d4`.
59
+ 2. Current status cannot be confirmed.
60
+ 3. The official page the user should verify.