@intentius/chant-lexicon-otel 0.106.4 → 0.108.0
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.
- package/README.md +1 -1
- package/dist/collector.d.ts +6 -0
- package/dist/collector.d.ts.map +1 -1
- package/dist/composites/catalog.d.ts.map +1 -1
- package/dist/composites/genai-pipeline.d.ts +33 -0
- package/dist/composites/genai-pipeline.d.ts.map +1 -0
- package/dist/composites/index.d.ts +8 -0
- package/dist/composites/index.d.ts.map +1 -1
- package/dist/composites/otlp-collector.d.ts +43 -0
- package/dist/composites/otlp-collector.d.ts.map +1 -0
- package/dist/composites/red-metrics.d.ts +77 -0
- package/dist/composites/red-metrics.d.ts.map +1 -0
- package/dist/composites/tail-sampling-tier.d.ts +90 -0
- package/dist/composites/tail-sampling-tier.d.ts.map +1 -0
- package/dist/configmap.d.ts +16 -0
- package/dist/configmap.d.ts.map +1 -1
- package/dist/genai.d.ts +19 -0
- package/dist/genai.d.ts.map +1 -1
- package/dist/import/embedded.d.ts +8 -0
- package/dist/import/embedded.d.ts.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/integrity.json +3 -3
- package/dist/lint/post-synth/otel-helpers.d.ts +9 -2
- package/dist/lint/post-synth/otel-helpers.d.ts.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/metric-names.d.ts +68 -0
- package/dist/metric-names.d.ts.map +1 -1
- package/dist/op/activities/collector-audit.d.ts +95 -0
- package/dist/op/activities/collector-audit.d.ts.map +1 -0
- package/dist/op/activities/collector-health.d.ts +74 -0
- package/dist/op/activities/collector-health.d.ts.map +1 -0
- package/dist/op/activities/exec.d.ts +19 -0
- package/dist/op/activities/exec.d.ts.map +1 -0
- package/dist/op/activities/github.d.ts +55 -0
- package/dist/op/activities/github.d.ts.map +1 -0
- package/dist/op/activities/index.d.ts +20 -0
- package/dist/op/activities/index.d.ts.map +1 -0
- package/dist/op/activities/otelcol.d.ts +96 -0
- package/dist/op/activities/otelcol.d.ts.map +1 -0
- package/dist/op/activity-contracts.d.ts +96 -0
- package/dist/op/activity-contracts.d.ts.map +1 -0
- package/dist/op/audit-op.d.ts +35 -0
- package/dist/op/audit-op.d.ts.map +1 -0
- package/dist/op/builders.d.ts +43 -0
- package/dist/op/builders.d.ts.map +1 -0
- package/dist/platform.d.ts +14 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/rules/otel-helpers.ts +18 -5
- package/package.json +14 -3
- package/src/collector.ts +9 -0
- package/src/composites/catalog.test.ts +1 -1
- package/src/composites/catalog.ts +292 -0
- package/src/composites/genai-pipeline.test.ts +53 -0
- package/src/composites/genai-pipeline.ts +40 -0
- package/src/composites/index.ts +8 -0
- package/src/composites/otlp-collector.test.ts +43 -0
- package/src/composites/otlp-collector.ts +70 -0
- package/src/composites/red-metrics.test.ts +131 -0
- package/src/composites/red-metrics.ts +148 -0
- package/src/composites/tail-sampling-tier.test.ts +100 -0
- package/src/composites/tail-sampling-tier.ts +182 -0
- package/src/configmap-operator.test.ts +44 -0
- package/src/configmap.ts +35 -0
- package/src/detect.ts +13 -1
- package/src/genai.ts +72 -59
- package/src/import/embedded.test.ts +36 -0
- package/src/import/embedded.ts +28 -4
- package/src/index.ts +57 -2
- package/src/lint/post-synth/otel-helpers.ts +18 -5
- package/src/metric-names.ts +141 -0
- package/src/op/activities/collector-audit.test.ts +166 -0
- package/src/op/activities/collector-audit.ts +265 -0
- package/src/op/activities/collector-health.test.ts +115 -0
- package/src/op/activities/collector-health.ts +211 -0
- package/src/op/activities/exec.ts +33 -0
- package/src/op/activities/github.ts +127 -0
- package/src/op/activities/index.ts +19 -0
- package/src/op/activities/otelcol.test.ts +162 -0
- package/src/op/activities/otelcol.ts +233 -0
- package/src/op/activity-contracts.test.ts +103 -0
- package/src/op/activity-contracts.ts +92 -0
- package/src/op/audit-op.ts +53 -0
- package/src/op/builders.ts +52 -0
- package/src/op/testdata/otelcol-components-v0.130.0.yaml +82 -0
- package/src/platform.ts +45 -8
package/src/platform.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { OtlpReceiver } from "./components/receivers";
|
|
|
15
15
|
import { BatchProcessor, MemoryLimiterProcessor } from "./components/processors";
|
|
16
16
|
import { DebugExporter } from "./components/exporters";
|
|
17
17
|
import { HealthCheckExtension } from "./components/extensions";
|
|
18
|
-
import { Pipeline } from "./pipeline";
|
|
18
|
+
import { Pipeline, type PipelineEntity } from "./pipeline";
|
|
19
19
|
import { SIGNALS, parseComponentId, type CollectorConfig, type Signal } from "./model";
|
|
20
20
|
import { listenerPaths } from "./validate-config";
|
|
21
21
|
|
|
@@ -34,13 +34,21 @@ export interface OtlpCollectorOptions {
|
|
|
34
34
|
healthCheck?: boolean;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
/** The parts of `otlpCollector()`'s config, by name. */
|
|
38
|
+
export interface OtlpCollectorParts {
|
|
39
|
+
otlp: OTelComponent<"receiver", "otlp", object>;
|
|
40
|
+
memoryLimiter: OTelComponent<"processor", "memory_limiter", object>;
|
|
41
|
+
batch: OTelComponent<"processor", "batch", object>;
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
+
exporters: OTelComponent<"exporter", string, any>[];
|
|
44
|
+
/** Absent with `healthCheck: false`. */
|
|
45
|
+
health?: OTelComponent<"extension", "health_check", object>;
|
|
46
|
+
/** One pipeline per signal asked for. */
|
|
47
|
+
pipelines: Partial<Record<Signal, PipelineEntity>>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** The receiver and processors `otlpCollector()` and `OtlpCollector` start from. */
|
|
51
|
+
function collectorBase() {
|
|
44
52
|
const otlp = new OtlpReceiver({
|
|
45
53
|
protocols: {
|
|
46
54
|
grpc: { endpoint: "0.0.0.0:4317" },
|
|
@@ -53,6 +61,35 @@ export function otlpCollector(options: OtlpCollectorOptions = {}): Declarable[]
|
|
|
53
61
|
spike_limit_percentage: 20,
|
|
54
62
|
});
|
|
55
63
|
const batch = new BatchProcessor({});
|
|
64
|
+
return { otlp, memoryLimiter, batch };
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** `otlpCollector()`'s config by part, for the `OtlpCollector` composite. A signal listed twice gets one pipeline. */
|
|
68
|
+
export function otlpCollectorParts(options: OtlpCollectorOptions = {}): OtlpCollectorParts {
|
|
69
|
+
const { exporters = [new DebugExporter({ verbosity: "basic" })], signals = [...SIGNALS], healthCheck = true } = options;
|
|
70
|
+
const { otlp, memoryLimiter, batch } = collectorBase();
|
|
71
|
+
const pipelines: Partial<Record<Signal, PipelineEntity>> = {};
|
|
72
|
+
for (const signal of signals) {
|
|
73
|
+
pipelines[signal] ??= new Pipeline({ signal, receivers: [otlp], processors: [memoryLimiter, batch], exporters });
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
otlp,
|
|
77
|
+
memoryLimiter,
|
|
78
|
+
batch,
|
|
79
|
+
exporters,
|
|
80
|
+
...(healthCheck ? { health: new HealthCheckExtension({ endpoint: "0.0.0.0:13133" }) } : {}),
|
|
81
|
+
pipelines,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* The entities of a small OTLP collector: an `otlp` receiver on 4317 (gRPC)
|
|
87
|
+
* and 4318 (HTTP), `memory_limiter` then `batch`, the given exporters, and a
|
|
88
|
+
* `health_check` extension. Pass the result to `collectorYaml`.
|
|
89
|
+
*/
|
|
90
|
+
export function otlpCollector(options: OtlpCollectorOptions = {}): Declarable[] {
|
|
91
|
+
const { exporters = [new DebugExporter({ verbosity: "basic" })], signals = [...SIGNALS], healthCheck = true } = options;
|
|
92
|
+
const { otlp, memoryLimiter, batch } = collectorBase();
|
|
56
93
|
const entities: Declarable[] = [otlp, memoryLimiter, batch, ...exporters];
|
|
57
94
|
if (healthCheck) entities.push(new HealthCheckExtension({ endpoint: "0.0.0.0:13133" }));
|
|
58
95
|
for (const signal of signals) {
|