@intentius/chant-lexicon-otel 0.81.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.
Files changed (206) hide show
  1. package/README.md +49 -0
  2. package/dist/catalog.d.ts +18 -0
  3. package/dist/catalog.d.ts.map +1 -0
  4. package/dist/codegen/docs-cli.d.ts +3 -0
  5. package/dist/codegen/docs-cli.d.ts.map +1 -0
  6. package/dist/codegen/docs.d.ts +8 -0
  7. package/dist/codegen/docs.d.ts.map +1 -0
  8. package/dist/codegen/generate-cli.d.ts +3 -0
  9. package/dist/codegen/generate-cli.d.ts.map +1 -0
  10. package/dist/codegen/generate.d.ts +19 -0
  11. package/dist/codegen/generate.d.ts.map +1 -0
  12. package/dist/codegen/package.d.ts +7 -0
  13. package/dist/codegen/package.d.ts.map +1 -0
  14. package/dist/collector.d.ts +29 -0
  15. package/dist/collector.d.ts.map +1 -0
  16. package/dist/components/common.d.ts +144 -0
  17. package/dist/components/common.d.ts.map +1 -0
  18. package/dist/components/exporters.d.ts +86 -0
  19. package/dist/components/exporters.d.ts.map +1 -0
  20. package/dist/components/extensions.d.ts +32 -0
  21. package/dist/components/extensions.d.ts.map +1 -0
  22. package/dist/components/index.d.ts +6 -0
  23. package/dist/components/index.d.ts.map +1 -0
  24. package/dist/components/processors.d.ts +118 -0
  25. package/dist/components/processors.d.ts.map +1 -0
  26. package/dist/components/receivers.d.ts +118 -0
  27. package/dist/components/receivers.d.ts.map +1 -0
  28. package/dist/define.d.ts +136 -0
  29. package/dist/define.d.ts.map +1 -0
  30. package/dist/detect.d.ts +2 -0
  31. package/dist/detect.d.ts.map +1 -0
  32. package/dist/index.d.ts +12 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/integrity.json +25 -0
  35. package/dist/lint/audit-catalog.d.ts +13 -0
  36. package/dist/lint/audit-catalog.d.ts.map +1 -0
  37. package/dist/lint/post-synth/index.d.ts +3 -0
  38. package/dist/lint/post-synth/index.d.ts.map +1 -0
  39. package/dist/lint/post-synth/otel-helpers.d.ts +22 -0
  40. package/dist/lint/post-synth/otel-helpers.d.ts.map +1 -0
  41. package/dist/lint/post-synth/otel101.d.ts +8 -0
  42. package/dist/lint/post-synth/otel101.d.ts.map +1 -0
  43. package/dist/lint/post-synth/otel102.d.ts +8 -0
  44. package/dist/lint/post-synth/otel102.d.ts.map +1 -0
  45. package/dist/lint/post-synth/otel103.d.ts +8 -0
  46. package/dist/lint/post-synth/otel103.d.ts.map +1 -0
  47. package/dist/lint/post-synth/otel104.d.ts +8 -0
  48. package/dist/lint/post-synth/otel104.d.ts.map +1 -0
  49. package/dist/lint/post-synth/otel105.d.ts +8 -0
  50. package/dist/lint/post-synth/otel105.d.ts.map +1 -0
  51. package/dist/lint/post-synth/otel106.d.ts +8 -0
  52. package/dist/lint/post-synth/otel106.d.ts.map +1 -0
  53. package/dist/lint/post-synth/otel107.d.ts +8 -0
  54. package/dist/lint/post-synth/otel107.d.ts.map +1 -0
  55. package/dist/lint/post-synth/otel108.d.ts +8 -0
  56. package/dist/lint/post-synth/otel108.d.ts.map +1 -0
  57. package/dist/lint/post-synth/otel109.d.ts +8 -0
  58. package/dist/lint/post-synth/otel109.d.ts.map +1 -0
  59. package/dist/lint/rules/component-id-syntax.d.ts +14 -0
  60. package/dist/lint/rules/component-id-syntax.d.ts.map +1 -0
  61. package/dist/lint/rules/index.d.ts +6 -0
  62. package/dist/lint/rules/index.d.ts.map +1 -0
  63. package/dist/lint/rules/literal-credential.d.ts +13 -0
  64. package/dist/lint/rules/literal-credential.d.ts.map +1 -0
  65. package/dist/lint/rules/otel-ast.d.ts +14 -0
  66. package/dist/lint/rules/otel-ast.d.ts.map +1 -0
  67. package/dist/lsp/completions.d.ts +4 -0
  68. package/dist/lsp/completions.d.ts.map +1 -0
  69. package/dist/lsp/hover.d.ts +4 -0
  70. package/dist/lsp/hover.d.ts.map +1 -0
  71. package/dist/manifest.json +8 -0
  72. package/dist/meta.json +102 -0
  73. package/dist/model.d.ts +53 -0
  74. package/dist/model.d.ts.map +1 -0
  75. package/dist/okf/index.md +40 -0
  76. package/dist/okf/rules/OTEL001.md +15 -0
  77. package/dist/okf/rules/OTEL002.md +11 -0
  78. package/dist/okf/rules/OTEL101.md +11 -0
  79. package/dist/okf/rules/OTEL102.md +11 -0
  80. package/dist/okf/rules/OTEL103.md +11 -0
  81. package/dist/okf/rules/OTEL104.md +11 -0
  82. package/dist/okf/rules/OTEL105.md +11 -0
  83. package/dist/okf/rules/OTEL106.md +11 -0
  84. package/dist/okf/rules/OTEL107.md +11 -0
  85. package/dist/okf/rules/OTEL108.md +11 -0
  86. package/dist/okf/rules/OTEL109.md +11 -0
  87. package/dist/okf/types/AttributesProcessor.md +9 -0
  88. package/dist/okf/types/BatchProcessor.md +9 -0
  89. package/dist/okf/types/DebugExporter.md +9 -0
  90. package/dist/okf/types/FileLogReceiver.md +9 -0
  91. package/dist/okf/types/GoogleCloudExporter.md +9 -0
  92. package/dist/okf/types/HealthCheckExtension.md +9 -0
  93. package/dist/okf/types/HostMetricsReceiver.md +9 -0
  94. package/dist/okf/types/K8sAttributesProcessor.md +9 -0
  95. package/dist/okf/types/MemoryLimiterProcessor.md +9 -0
  96. package/dist/okf/types/OtlpExporter.md +9 -0
  97. package/dist/okf/types/OtlpHttpExporter.md +9 -0
  98. package/dist/okf/types/OtlpReceiver.md +9 -0
  99. package/dist/okf/types/Pipeline.md +13 -0
  100. package/dist/okf/types/PprofExtension.md +9 -0
  101. package/dist/okf/types/PrometheusExporter.md +9 -0
  102. package/dist/okf/types/PrometheusReceiver.md +9 -0
  103. package/dist/okf/types/ResourceDetectionProcessor.md +9 -0
  104. package/dist/okf/types/ResourceProcessor.md +9 -0
  105. package/dist/okf/types/Service.md +9 -0
  106. package/dist/okf/types/ZPagesExtension.md +9 -0
  107. package/dist/package-cli.d.ts +3 -0
  108. package/dist/package-cli.d.ts.map +1 -0
  109. package/dist/pipeline.d.ts +66 -0
  110. package/dist/pipeline.d.ts.map +1 -0
  111. package/dist/platform.d.ts +57 -0
  112. package/dist/platform.d.ts.map +1 -0
  113. package/dist/plugin.d.ts +11 -0
  114. package/dist/plugin.d.ts.map +1 -0
  115. package/dist/rules/component-id-syntax.ts +68 -0
  116. package/dist/rules/literal-credential.ts +62 -0
  117. package/dist/rules/otel-ast.ts +30 -0
  118. package/dist/rules/otel-helpers.ts +70 -0
  119. package/dist/rules/otel101.ts +17 -0
  120. package/dist/rules/otel102.ts +17 -0
  121. package/dist/rules/otel103.ts +17 -0
  122. package/dist/rules/otel104.ts +17 -0
  123. package/dist/rules/otel105.ts +17 -0
  124. package/dist/rules/otel106.ts +17 -0
  125. package/dist/rules/otel107.ts +17 -0
  126. package/dist/rules/otel108.ts +17 -0
  127. package/dist/rules/otel109.ts +17 -0
  128. package/dist/serializer.d.ts +16 -0
  129. package/dist/serializer.d.ts.map +1 -0
  130. package/dist/skill-defs.d.ts +3 -0
  131. package/dist/skill-defs.d.ts.map +1 -0
  132. package/dist/skills/chant-otel-custom-components.md +51 -0
  133. package/dist/skills/chant-otel-platforms.md +34 -0
  134. package/dist/skills/chant-otel.md +60 -0
  135. package/dist/topology.d.ts +56 -0
  136. package/dist/topology.d.ts.map +1 -0
  137. package/dist/types/index.d.ts +3 -0
  138. package/dist/validate-cli.d.ts +3 -0
  139. package/dist/validate-cli.d.ts.map +1 -0
  140. package/dist/validate-config.d.ts +30 -0
  141. package/dist/validate-config.d.ts.map +1 -0
  142. package/dist/validate.d.ts +11 -0
  143. package/dist/validate.d.ts.map +1 -0
  144. package/dist/yaml.d.ts +27 -0
  145. package/dist/yaml.d.ts.map +1 -0
  146. package/package.json +74 -0
  147. package/src/catalog.ts +56 -0
  148. package/src/codegen/docs-cli.ts +4 -0
  149. package/src/codegen/docs.ts +90 -0
  150. package/src/codegen/generate-cli.ts +8 -0
  151. package/src/codegen/generate.ts +50 -0
  152. package/src/codegen/package.ts +41 -0
  153. package/src/collector.ts +147 -0
  154. package/src/components/common.ts +151 -0
  155. package/src/components/exporters.ts +141 -0
  156. package/src/components/extensions.ts +51 -0
  157. package/src/components/index.ts +5 -0
  158. package/src/components/processors.ts +208 -0
  159. package/src/components/receivers.ts +177 -0
  160. package/src/define.test.ts +131 -0
  161. package/src/define.ts +249 -0
  162. package/src/detect.ts +11 -0
  163. package/src/generated/lexicon-otel.json +102 -0
  164. package/src/index.ts +73 -0
  165. package/src/lint/audit-catalog.ts +102 -0
  166. package/src/lint/post-synth/index.ts +23 -0
  167. package/src/lint/post-synth/otel-helpers.ts +70 -0
  168. package/src/lint/post-synth/otel101.ts +17 -0
  169. package/src/lint/post-synth/otel102.ts +17 -0
  170. package/src/lint/post-synth/otel103.ts +17 -0
  171. package/src/lint/post-synth/otel104.ts +17 -0
  172. package/src/lint/post-synth/otel105.ts +17 -0
  173. package/src/lint/post-synth/otel106.ts +17 -0
  174. package/src/lint/post-synth/otel107.ts +17 -0
  175. package/src/lint/post-synth/otel108.ts +17 -0
  176. package/src/lint/post-synth/otel109.ts +17 -0
  177. package/src/lint/post-synth/post-synth.test.ts +184 -0
  178. package/src/lint/rules/component-id-syntax.ts +68 -0
  179. package/src/lint/rules/index.ts +9 -0
  180. package/src/lint/rules/literal-credential.ts +62 -0
  181. package/src/lint/rules/otel-ast.ts +30 -0
  182. package/src/lint/rules/rules.test.ts +70 -0
  183. package/src/lsp/completions.test.ts +23 -0
  184. package/src/lsp/completions.ts +15 -0
  185. package/src/lsp/hover.test.ts +20 -0
  186. package/src/lsp/hover.ts +30 -0
  187. package/src/model.ts +88 -0
  188. package/src/package-cli.ts +17 -0
  189. package/src/pipeline.ts +89 -0
  190. package/src/platform.test.ts +79 -0
  191. package/src/platform.ts +143 -0
  192. package/src/plugin.test.ts +55 -0
  193. package/src/plugin.ts +111 -0
  194. package/src/serializer.test.ts +187 -0
  195. package/src/serializer.ts +31 -0
  196. package/src/skill-defs.ts +36 -0
  197. package/src/skills/chant-otel-custom-components.md +51 -0
  198. package/src/skills/chant-otel-platforms.md +34 -0
  199. package/src/skills/chant-otel.md +60 -0
  200. package/src/topology.test.ts +80 -0
  201. package/src/topology.ts +122 -0
  202. package/src/validate-cli.ts +7 -0
  203. package/src/validate-config.ts +232 -0
  204. package/src/validate.ts +82 -0
  205. package/src/yaml.test.ts +56 -0
  206. package/src/yaml.ts +145 -0
package/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # @intentius/chant-lexicon-otel
2
+
3
+ OpenTelemetry Collector lexicon for [chant](https://github.com/INTENTIUS/chant): typed receivers, processors, exporters, extensions and pipelines, serialized to the collector YAML `otelcol --config` reads.
4
+
5
+ ```ts
6
+ import { OtlpReceiver, BatchProcessor, OtlpExporter, Pipeline } from "@intentius/chant-lexicon-otel";
7
+
8
+ const otlp = new OtlpReceiver({ protocols: { grpc: { endpoint: "0.0.0.0:4317" } } });
9
+ const batch = new BatchProcessor({ timeout: "5s" });
10
+ const backend = new OtlpExporter({ name: "backend", endpoint: "tempo:4317" });
11
+ const traces = new Pipeline({ signal: "traces", receivers: [otlp], processors: [batch], exporters: [backend] });
12
+
13
+ export { otlp, batch, backend, traces };
14
+ ```
15
+
16
+ ## Built-in components
17
+
18
+ | Kind | Types |
19
+ |---|---|
20
+ | receivers | otlp, prometheus, hostmetrics, filelog |
21
+ | processors | batch, memory_limiter, resource, attributes, k8sattributes, resourcedetection |
22
+ | exporters | otlp, otlphttp, debug, prometheus, googlecloud |
23
+ | extensions | health_check, pprof, zpages |
24
+
25
+ The config types follow the collector-contrib release in `COLLECTOR_PIN`.
26
+
27
+ ## Components chant doesn't ship
28
+
29
+ `defineComponent<Config>()({ kind, type, pin, validate?, endpoints? })` returns a class that serializes and lints like a built-in. `pin` records the schema source and version the config type follows; it is written as a `# chant:` comment above the emitted config and returned by `collectorTopology()`.
30
+
31
+ ## Checks
32
+
33
+ OTEL001 and OTEL002 run on source (id syntax, literal credentials). OTEL101 to OTEL109 run after a build: undeclared or unused components, empty pipelines, extension wiring, `memory_limiter` placement, id syntax, each component's own config rules, duplicate ids and missing schema pins.
34
+
35
+ ## Plain-data API
36
+
37
+ - `collectorYaml(entities)` and `buildCollectorConfig(entities)` render a config inside another lexicon (the k8s `GkeOtelCollector` uses them).
38
+ - `validateCollectorConfig(config)` and `validateCollectorEntities(entities)` run the checks without a build.
39
+ - `collectorTopology(config)` and `collectorTopologyOf(entities)` return pipelines, endpoints, schema pins and the signals each exporter carries.
40
+
41
+ ## Project structure
42
+
43
+ - `src/define.ts`: `defineComponent`, the registry and schema pins
44
+ - `src/components/`: the built-in component classes and config types
45
+ - `src/pipeline.ts`: `Pipeline` and `Service`
46
+ - `src/collector.ts`, `src/yaml.ts`: entities to config to YAML
47
+ - `src/validate-config.ts`, `src/lint/`: checks
48
+ - `src/topology.ts`: the read surface
49
+ - `examples/`: getting-started, k8s-node-agent, custom-component
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The built-in entity catalog: every class this package exports, keyed by
3
+ * class name. It feeds the packaged registry (`dist/meta.json`), LSP
4
+ * completions and hover, and the docs.
5
+ */
6
+ import type { LexiconEntry } from "@intentius/chant/lsp/lexicon-providers";
7
+ export interface CatalogEntry {
8
+ className: string;
9
+ entityType: string;
10
+ kind: "receiver" | "processor" | "exporter" | "extension" | "pipeline" | "service";
11
+ /** The collector type, for components. */
12
+ type?: string;
13
+ description: string;
14
+ }
15
+ export declare const BUILTIN_CATALOG: CatalogEntry[];
16
+ /** The catalog as a chant lexicon registry, keyed by class name. */
17
+ export declare function lexiconRegistry(): Record<string, LexiconEntry>;
18
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAK3E,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;IACnF,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,eAAO,MAAM,eAAe,EAAE,YAAY,EAsBzC,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAM9D"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env tsx
2
+ export {};
3
+ //# sourceMappingURL=docs-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-cli.d.ts","sourceRoot":"","sources":["../../src/codegen/docs-cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Documentation generation for the otel lexicon: the generated reference
3
+ * pages from the core docs pipeline, plus the authored pages in docs/pages/.
4
+ */
5
+ export declare function generateDocs(opts?: {
6
+ verbose?: boolean;
7
+ }): Promise<void>;
8
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/codegen/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+DH,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB9E"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env tsx
2
+ export {};
3
+ //# sourceMappingURL=generate-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cli.d.ts","sourceRoot":"","sources":["../../src/codegen/generate-cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The otel lexicon's "generation" step.
3
+ *
4
+ * There is no upstream schema to fetch: the collector defines each
5
+ * component's config as a Go struct, and publishes no machine-readable schema
6
+ * for the set as a whole. The built-in types are written by hand against the
7
+ * collector release named in `COLLECTOR_PIN` (src/define.ts), and this step
8
+ * derives the registry from them, so the packaged `dist/meta.json` can never
9
+ * disagree with the classes the package exports.
10
+ */
11
+ import type { GenerateResult } from "@intentius/chant/codegen/generate";
12
+ export type { GenerateResult };
13
+ export declare function generate(opts?: {
14
+ verbose?: boolean;
15
+ force?: boolean;
16
+ }): Promise<GenerateResult>;
17
+ /** Write the registry to src/generated/lexicon-otel.json, for tools that read it from there. */
18
+ export declare function writeGeneratedFiles(result: GenerateResult): void;
19
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGxE,YAAY,EAAE,cAAc,EAAE,CAAC;AAQ/B,wBAAsB,QAAQ,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAgBrG;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAKhE"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * otel lexicon packaging, delegating to core's packagePipeline.
3
+ */
4
+ import { type PackageOptions, type PackageResult } from "@intentius/chant/codegen/package";
5
+ export type { PackageOptions, PackageResult };
6
+ export declare function packageLexicon(opts?: PackageOptions): Promise<PackageResult>;
7
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/codegen/package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,kCAAkC,CAAC;AAI1C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAK9C,wBAAsB,cAAc,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBtF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Declared entities -> `CollectorConfig` -> YAML.
3
+ *
4
+ * The serializer runs this over a build's entities, and a composite in another
5
+ * lexicon (the k8s `GkeOtelCollector`, which puts the YAML in a ConfigMap)
6
+ * runs it over the entities it creates. Both get the same config and the same
7
+ * text.
8
+ */
9
+ import type { Declarable } from "@intentius/chant/declarable";
10
+ import { type OTelComponent } from "./define.js";
11
+ import { type CollectorConfig } from "./model.js";
12
+ import { type PipelineEntity, type ServiceEntity } from "./pipeline.js";
13
+ export interface BuiltCollector {
14
+ config: CollectorConfig;
15
+ /** One line per custom component naming its schema pin. Becomes the YAML's `# chant:` header. */
16
+ header: string[];
17
+ /** Non-fatal problems, e.g. two components declaring the same id. */
18
+ warnings: string[];
19
+ components: OTelComponent[];
20
+ pipelines: PipelineEntity[];
21
+ service?: ServiceEntity;
22
+ }
23
+ /** A component's config, as it appears under its id: its props without `name`. */
24
+ export declare function componentConfig(component: OTelComponent): Record<string, unknown>;
25
+ /** Build the collector config for a set of declared entities. Non-otel entities are ignored. */
26
+ export declare function buildCollectorConfig(entities: Iterable<Declarable> | Map<string, Declarable>): BuiltCollector;
27
+ /** Collector YAML for a set of declared entities, exactly as the serializer emits it. */
28
+ export declare function collectorYaml(entities: Iterable<Declarable> | Map<string, Declarable>): string;
29
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAc,KAAK,eAAe,EAAuB,MAAM,SAAS,CAAC;AAChF,OAAO,EAAwD,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3H,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,iGAAiG;IACjG,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAuBD,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGjF;AAOD,gGAAgG;AAChG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,cAAc,CAiF7G;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,CAG9F"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Settings shared by many collector components (the collector's `config*`
3
+ * packages: configtls, configgrpc, confighttp, configretry, exporterhelper).
4
+ * Keys use the collector's own snake_case spelling, since they are emitted
5
+ * unchanged.
6
+ */
7
+ /** A duration string the collector parses, e.g. `5s`, `250ms`, `1m30s`. */
8
+ export type Duration = string;
9
+ export interface TLSClientSettings {
10
+ insecure?: boolean;
11
+ insecure_skip_verify?: boolean;
12
+ ca_file?: string;
13
+ ca_pem?: string;
14
+ cert_file?: string;
15
+ cert_pem?: string;
16
+ key_file?: string;
17
+ key_pem?: string;
18
+ server_name_override?: string;
19
+ min_version?: string;
20
+ max_version?: string;
21
+ reload_interval?: Duration;
22
+ include_system_ca_certs_pool?: boolean;
23
+ }
24
+ export interface TLSServerSettings {
25
+ ca_file?: string;
26
+ cert_file?: string;
27
+ key_file?: string;
28
+ client_ca_file?: string;
29
+ client_ca_file_reload?: boolean;
30
+ min_version?: string;
31
+ max_version?: string;
32
+ reload_interval?: Duration;
33
+ }
34
+ /** An `auth` block naming an authenticator extension by id. */
35
+ export interface AuthSettings {
36
+ authenticator: string;
37
+ }
38
+ export interface KeepaliveServerSettings {
39
+ server_parameters?: {
40
+ max_connection_idle?: Duration;
41
+ max_connection_age?: Duration;
42
+ max_connection_age_grace?: Duration;
43
+ time?: Duration;
44
+ timeout?: Duration;
45
+ };
46
+ enforcement_policy?: {
47
+ min_time?: Duration;
48
+ permit_without_stream?: boolean;
49
+ };
50
+ }
51
+ export interface GRPCServerSettings {
52
+ endpoint?: string;
53
+ transport?: "tcp" | "tcp4" | "tcp6" | "udp" | "unix";
54
+ tls?: TLSServerSettings;
55
+ max_recv_msg_size_mib?: number;
56
+ max_concurrent_streams?: number;
57
+ read_buffer_size?: number;
58
+ write_buffer_size?: number;
59
+ keepalive?: KeepaliveServerSettings;
60
+ auth?: AuthSettings;
61
+ include_metadata?: boolean;
62
+ }
63
+ export interface CORSSettings {
64
+ allowed_origins?: string[];
65
+ allowed_headers?: string[];
66
+ max_age?: number;
67
+ }
68
+ export interface HTTPServerSettings {
69
+ endpoint?: string;
70
+ tls?: TLSServerSettings;
71
+ cors?: CORSSettings;
72
+ auth?: AuthSettings;
73
+ max_request_body_size?: number;
74
+ include_metadata?: boolean;
75
+ response_headers?: Record<string, string>;
76
+ }
77
+ export type Compression = "gzip" | "zstd" | "snappy" | "zlib" | "deflate" | "lz4" | "none" | "";
78
+ export interface GRPCClientSettings {
79
+ endpoint: string;
80
+ compression?: Compression;
81
+ tls?: TLSClientSettings;
82
+ headers?: Record<string, string>;
83
+ keepalive?: {
84
+ time?: Duration;
85
+ timeout?: Duration;
86
+ permit_without_stream?: boolean;
87
+ };
88
+ read_buffer_size?: number;
89
+ write_buffer_size?: number;
90
+ wait_for_ready?: boolean;
91
+ balancer_name?: "pick_first" | "round_robin";
92
+ authority?: string;
93
+ auth?: AuthSettings;
94
+ }
95
+ export interface HTTPClientSettings {
96
+ endpoint?: string;
97
+ proxy_url?: string;
98
+ tls?: TLSClientSettings;
99
+ headers?: Record<string, string>;
100
+ timeout?: Duration;
101
+ compression?: Compression;
102
+ read_buffer_size?: number;
103
+ write_buffer_size?: number;
104
+ max_idle_conns?: number;
105
+ max_idle_conns_per_host?: number;
106
+ max_conns_per_host?: number;
107
+ idle_conn_timeout?: Duration;
108
+ disable_keep_alives?: boolean;
109
+ auth?: AuthSettings;
110
+ }
111
+ export interface RetrySettings {
112
+ enabled?: boolean;
113
+ initial_interval?: Duration;
114
+ randomization_factor?: number;
115
+ multiplier?: number;
116
+ max_interval?: Duration;
117
+ max_elapsed_time?: Duration;
118
+ }
119
+ export interface QueueSettings {
120
+ enabled?: boolean;
121
+ num_consumers?: number;
122
+ queue_size?: number;
123
+ /** The id of a storage extension, for a persistent queue. */
124
+ storage?: string;
125
+ blocking?: boolean;
126
+ sizer?: "requests" | "items" | "bytes";
127
+ }
128
+ /** `exporterhelper` settings every queued exporter accepts. */
129
+ export interface ExporterHelperSettings {
130
+ timeout?: Duration;
131
+ retry_on_failure?: RetrySettings;
132
+ sending_queue?: QueueSettings;
133
+ }
134
+ /** One action in the `attributes` and `resource` processors. */
135
+ export interface AttributeAction {
136
+ key?: string;
137
+ action: "insert" | "update" | "upsert" | "delete" | "hash" | "extract" | "convert";
138
+ value?: string | number | boolean;
139
+ pattern?: string;
140
+ from_attribute?: string;
141
+ from_context?: string;
142
+ converted_type?: "int" | "double" | "string";
143
+ }
144
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/components/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Built-in exporters: otlp, otlphttp, debug, prometheus, googlecloud.
3
+ */
4
+ import type { Duration, ExporterHelperSettings, GRPCClientSettings, HTTPClientSettings, TLSServerSettings } from "./common.js";
5
+ export type OtlpExporterConfig = GRPCClientSettings & ExporterHelperSettings;
6
+ /** Sends OTLP over gRPC to another collector or a backend. */
7
+ export declare const OtlpExporter: import("../index.js").ComponentClass<"exporter", "otlp", OtlpExporterConfig>;
8
+ export type OtlpHttpExporterConfig = HTTPClientSettings & ExporterHelperSettings & {
9
+ traces_endpoint?: string;
10
+ metrics_endpoint?: string;
11
+ logs_endpoint?: string;
12
+ encoding?: "proto" | "json";
13
+ };
14
+ /** Sends OTLP over HTTP. `endpoint` gets `/v1/traces` etc. appended; the per-signal endpoints are used as given. */
15
+ export declare const OtlpHttpExporter: import("../index.js").ComponentClass<"exporter", "otlphttp", OtlpHttpExporterConfig>;
16
+ export interface DebugExporterConfig {
17
+ verbosity?: "basic" | "normal" | "detailed";
18
+ sampling_initial?: number;
19
+ sampling_thereafter?: number;
20
+ use_internal_logger?: boolean;
21
+ }
22
+ /** Writes telemetry to the collector's console, for debugging. */
23
+ export declare const DebugExporter: import("../index.js").ComponentClass<"exporter", "debug", DebugExporterConfig>;
24
+ export interface PrometheusExporterConfig {
25
+ /** The address the exporter serves `/metrics` on, e.g. `0.0.0.0:8889`. */
26
+ endpoint: string;
27
+ namespace?: string;
28
+ const_labels?: Record<string, string>;
29
+ send_timestamps?: boolean;
30
+ metric_expiration?: Duration;
31
+ enable_open_metrics?: boolean;
32
+ add_metric_suffixes?: boolean;
33
+ resource_to_telemetry_conversion?: {
34
+ enabled: boolean;
35
+ };
36
+ tls?: TLSServerSettings;
37
+ }
38
+ /** Serves metrics on an endpoint Prometheus scrapes. */
39
+ export declare const PrometheusExporter: import("../index.js").ComponentClass<"exporter", "prometheus", PrometheusExporterConfig>;
40
+ export interface GoogleCloudResourceFilter {
41
+ prefix?: string;
42
+ regex?: string;
43
+ }
44
+ export interface GoogleCloudExporterConfig extends ExporterHelperSettings {
45
+ /** The GCP project. Detected from credentials when omitted. */
46
+ project?: string;
47
+ user_agent?: string;
48
+ destination_project_quota?: boolean;
49
+ metric?: {
50
+ prefix?: string;
51
+ endpoint?: string;
52
+ use_insecure?: boolean;
53
+ known_domains?: string[];
54
+ skip_create_descriptor?: boolean;
55
+ instrumentation_library_labels?: boolean;
56
+ create_service_timeseries?: boolean;
57
+ create_metric_descriptor_buffer_size?: number;
58
+ service_resource_labels?: boolean;
59
+ resource_filters?: GoogleCloudResourceFilter[];
60
+ cumulative_normalization?: boolean;
61
+ sum_of_squared_deviation?: boolean;
62
+ };
63
+ trace?: {
64
+ endpoint?: string;
65
+ use_insecure?: boolean;
66
+ attribute_mappings?: Array<{
67
+ key: string;
68
+ replacement: string;
69
+ }>;
70
+ };
71
+ log?: {
72
+ endpoint?: string;
73
+ use_insecure?: boolean;
74
+ default_log_name?: string;
75
+ resource_filters?: GoogleCloudResourceFilter[];
76
+ service_resource_labels?: boolean;
77
+ error_reporting_type?: boolean;
78
+ };
79
+ }
80
+ /**
81
+ * Sends traces to Cloud Trace, metrics to Cloud Monitoring and logs to Cloud
82
+ * Logging. With no endpoint overrides its topology endpoint is
83
+ * `googlecloud://projects/<project>`, naming where the data lands.
84
+ */
85
+ export declare const GoogleCloudExporter: import("../index.js").ComponentClass<"exporter", "googlecloud", GoogleCloudExporterConfig>;
86
+ //# sourceMappingURL=exporters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../../src/components/exporters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Built-in extensions: health_check, pprof, zpages.
3
+ */
4
+ import type { TLSServerSettings } from "./common.js";
5
+ export interface HealthCheckExtensionConfig {
6
+ /** Default `localhost:13133`. */
7
+ endpoint?: string;
8
+ path?: string;
9
+ tls?: TLSServerSettings;
10
+ response_body?: {
11
+ healthy?: string;
12
+ unhealthy?: string;
13
+ };
14
+ }
15
+ /** Serves an HTTP health endpoint for liveness and readiness probes. */
16
+ export declare const HealthCheckExtension: import("../index.js").ComponentClass<"extension", "health_check", HealthCheckExtensionConfig>;
17
+ export interface PprofExtensionConfig {
18
+ /** Default `localhost:1777`. */
19
+ endpoint?: string;
20
+ block_profile_fraction?: number;
21
+ mutex_profile_fraction?: number;
22
+ save_to_file?: string;
23
+ }
24
+ /** Serves Go's net/http/pprof profiling endpoints. */
25
+ export declare const PprofExtension: import("../index.js").ComponentClass<"extension", "pprof", PprofExtensionConfig>;
26
+ export interface ZPagesExtensionConfig {
27
+ /** Default `localhost:55679`. */
28
+ endpoint?: string;
29
+ }
30
+ /** Serves in-process zPages for live debugging of pipelines. */
31
+ export declare const ZPagesExtension: import("../index.js").ComponentClass<"extension", "zpages", ZPagesExtensionConfig>;
32
+ //# sourceMappingURL=extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/components/extensions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,0BAA0B;IACzC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,aAAa,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAED,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,sFAK/B,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,sDAAsD;AACtD,eAAO,MAAM,cAAc,yEAKzB,CAAC;AAEH,MAAM,WAAW,qBAAqB;IACpC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gEAAgE;AAChE,eAAO,MAAM,eAAe,2EAK1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./common.js";
2
+ export * from "./receivers.js";
3
+ export * from "./processors.js";
4
+ export * from "./exporters.js";
5
+ export * from "./extensions.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Built-in processors: batch, memory_limiter, resource, attributes,
3
+ * k8sattributes, resourcedetection.
4
+ */
5
+ import type { AttributeAction, Duration } from "./common.js";
6
+ export interface BatchProcessorConfig {
7
+ timeout?: Duration;
8
+ send_batch_size?: number;
9
+ send_batch_max_size?: number;
10
+ metadata_keys?: string[];
11
+ metadata_cardinality_limit?: number;
12
+ }
13
+ /** Batches telemetry before export, to cut request count and compress better. */
14
+ export declare const BatchProcessor: import("../index.js").ComponentClass<"processor", "batch", BatchProcessorConfig>;
15
+ export interface MemoryLimiterProcessorConfig {
16
+ check_interval: Duration;
17
+ limit_mib?: number;
18
+ spike_limit_mib?: number;
19
+ limit_percentage?: number;
20
+ spike_limit_percentage?: number;
21
+ }
22
+ /** Refuses data when the collector nears its memory limit. Belongs first in every pipeline. */
23
+ export declare const MemoryLimiterProcessor: import("../index.js").ComponentClass<"processor", "memory_limiter", MemoryLimiterProcessorConfig>;
24
+ export interface ResourceProcessorConfig {
25
+ attributes: AttributeAction[];
26
+ }
27
+ /** Inserts, updates or deletes resource attributes. */
28
+ export declare const ResourceProcessor: import("../index.js").ComponentClass<"processor", "resource", ResourceProcessorConfig>;
29
+ export interface AttributesMatch {
30
+ match_type: "strict" | "regexp";
31
+ services?: string[];
32
+ span_names?: string[];
33
+ log_bodies?: string[];
34
+ log_severity_texts?: string[];
35
+ metric_names?: string[];
36
+ attributes?: Array<{
37
+ key: string;
38
+ value?: unknown;
39
+ }>;
40
+ resources?: Array<{
41
+ key: string;
42
+ value?: unknown;
43
+ }>;
44
+ libraries?: Array<{
45
+ name: string;
46
+ version?: string;
47
+ }>;
48
+ }
49
+ export interface AttributesProcessorConfig {
50
+ actions: AttributeAction[];
51
+ include?: AttributesMatch;
52
+ exclude?: AttributesMatch;
53
+ }
54
+ /** Inserts, updates, hashes or deletes span, log and metric attributes. */
55
+ export declare const AttributesProcessor: import("../index.js").ComponentClass<"processor", "attributes", AttributesProcessorConfig>;
56
+ export interface K8sFieldExtract {
57
+ tag_name?: string;
58
+ key?: string;
59
+ key_regex?: string;
60
+ from: "pod" | "namespace" | "node";
61
+ }
62
+ export interface K8sPodAssociationSource {
63
+ from: "resource_attribute" | "connection";
64
+ name?: string;
65
+ }
66
+ export interface K8sAttributesProcessorConfig {
67
+ auth_type?: "none" | "serviceAccount" | "kubeConfig" | "tls";
68
+ passthrough?: boolean;
69
+ filter?: {
70
+ node?: string;
71
+ node_from_env_var?: string;
72
+ namespace?: string;
73
+ fields?: Array<{
74
+ key: string;
75
+ value: string;
76
+ op?: "equals" | "not-equals";
77
+ }>;
78
+ labels?: Array<{
79
+ key: string;
80
+ value: string;
81
+ op?: "equals" | "not-equals" | "exists" | "does-not-exist";
82
+ }>;
83
+ };
84
+ extract?: {
85
+ metadata?: string[];
86
+ labels?: K8sFieldExtract[];
87
+ annotations?: K8sFieldExtract[];
88
+ otel_annotations?: boolean;
89
+ };
90
+ pod_association?: Array<{
91
+ sources: K8sPodAssociationSource[];
92
+ }>;
93
+ exclude?: {
94
+ pods?: Array<{
95
+ name: string;
96
+ }>;
97
+ };
98
+ wait_for_metadata?: boolean;
99
+ wait_for_metadata_timeout?: Duration;
100
+ }
101
+ /** Adds Kubernetes pod, namespace and node metadata to telemetry. */
102
+ export declare const K8sAttributesProcessor: import("../index.js").ComponentClass<"processor", "k8sattributes", K8sAttributesProcessorConfig>;
103
+ export type ResourceDetector = "env" | "system" | "docker" | "gcp" | "ec2" | "ecs" | "eks" | "elasticbeanstalk" | "lambda" | "azure" | "aks" | "consul" | "heroku" | "openshift" | "k8snode" | "kubeadm" | "dynatrace";
104
+ export interface ResourceDetectionProcessorConfig {
105
+ detectors: Array<ResourceDetector | (string & {})>;
106
+ timeout?: Duration;
107
+ override?: boolean;
108
+ /** Per-detector settings, e.g. `system: { hostname_sources: ["os"] }`. */
109
+ system?: Record<string, unknown>;
110
+ ec2?: Record<string, unknown>;
111
+ gcp?: Record<string, unknown>;
112
+ azure?: Record<string, unknown>;
113
+ k8snode?: Record<string, unknown>;
114
+ docker?: Record<string, unknown>;
115
+ }
116
+ /** Detects the host's resource attributes (cloud, container, host) and adds them. */
117
+ export declare const ResourceDetectionProcessor: import("../index.js").ComponentClass<"processor", "resourcedetection", ResourceDetectionProcessorConfig>;
118
+ //# sourceMappingURL=processors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processors.d.ts","sourceRoot":"","sources":["../../src/components/processors.ts"],"names":[],"mappings":"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"}