log10x-mcp 1.30.9 → 1.30.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.
Files changed (126) hide show
  1. package/build/lib/advisor/compaction-support.d.ts +5 -6
  2. package/build/lib/advisor/compaction-support.js +9 -10
  3. package/build/lib/advisor/compaction-support.js.map +1 -1
  4. package/build/lib/advisor/reporter-forwarders.d.ts +5 -4
  5. package/build/lib/advisor/reporter-forwarders.js.map +1 -1
  6. package/build/lib/advisor/reporter.d.ts +9 -8
  7. package/build/lib/advisor/reporter.js +8 -7
  8. package/build/lib/advisor/reporter.js.map +1 -1
  9. package/build/lib/advisor/retriever.d.ts +131 -8
  10. package/build/lib/advisor/retriever.js +609 -124
  11. package/build/lib/advisor/retriever.js.map +1 -1
  12. package/build/lib/cost.d.ts +154 -15
  13. package/build/lib/cost.js +192 -18
  14. package/build/lib/cost.js.map +1 -1
  15. package/build/lib/offload-recipes.js +1 -1
  16. package/build/lib/plan-solver.d.ts +15 -0
  17. package/build/lib/plan-solver.js +18 -0
  18. package/build/lib/plan-solver.js.map +1 -1
  19. package/build/lib/poc-envelope-v2.d.ts +9 -1
  20. package/build/lib/poc-envelope-v2.js +72 -16
  21. package/build/lib/poc-envelope-v2.js.map +1 -1
  22. package/build/lib/poc-report-renderer.d.ts +1 -1
  23. package/build/lib/poc-report-renderer.js +43 -8
  24. package/build/lib/poc-report-renderer.js.map +1 -1
  25. package/build/lib/rate-resolution.js +11 -4
  26. package/build/lib/rate-resolution.js.map +1 -1
  27. package/build/lib/server-instructions.js +5 -4
  28. package/build/lib/server-instructions.js.map +1 -1
  29. package/build/lib/siem/clickhouse.js +6 -0
  30. package/build/lib/siem/clickhouse.js.map +1 -1
  31. package/build/lib/siem/pricing.js +7 -3
  32. package/build/lib/siem/pricing.js.map +1 -1
  33. package/build/product-kb/docs/api/github.md +0 -3
  34. package/build/product-kb/docs/apps/compiler/run.md +62 -38
  35. package/build/product-kb/docs/apps/mcp/run.md +8 -3
  36. package/build/product-kb/docs/apps/receiver/compact/elasticsearch.md +2 -2
  37. package/build/product-kb/docs/apps/receiver/compact/index.md +6 -6
  38. package/build/product-kb/docs/apps/receiver/compact/splunk.md +2 -2
  39. package/build/product-kb/docs/apps/receiver/faq.md +40 -65
  40. package/build/product-kb/docs/apps/receiver/index.md +2 -2
  41. package/build/product-kb/docs/apps/receiver/run.md +288 -70
  42. package/build/product-kb/docs/apps/reporter/faq.md +3 -3
  43. package/build/product-kb/docs/apps/reporter/run.md +255 -47
  44. package/build/product-kb/docs/apps/retriever/deploy/azure.md +7 -1
  45. package/build/product-kb/docs/apps/retriever/deploy/index.md +11 -5
  46. package/build/product-kb/docs/apps/retriever/faq.md +8 -8
  47. package/build/product-kb/docs/apps/retriever/run.md +268 -48
  48. package/build/product-kb/docs/compile/bootstrap/index.md +12 -5
  49. package/build/product-kb/docs/compile/link/index.md +1 -1
  50. package/build/product-kb/docs/compile/monitor/index.md +1 -1
  51. package/build/product-kb/docs/compile/scan/index.md +1 -1
  52. package/build/product-kb/docs/compile/scanner/executable/index.md +2 -2
  53. package/build/product-kb/docs/doc/bootstrap/index.md +28 -14
  54. package/build/product-kb/docs/doc/monitor/index.md +1 -1
  55. package/build/product-kb/docs/engine/launcher/lambda.md +1 -1
  56. package/build/product-kb/docs/faq/apps/receiver.md +40 -65
  57. package/build/product-kb/docs/faq/apps/reporter.md +3 -3
  58. package/build/product-kb/docs/faq/apps/retriever.md +5 -5
  59. package/build/product-kb/docs/faq/general.md +8 -8
  60. package/build/product-kb/docs/faq/pricing/overview.md +1 -1
  61. package/build/product-kb/docs/faq/stacks/datadog/comparisons.md +1 -1
  62. package/build/product-kb/docs/faq/stacks/datadog/optimization.md +1 -1
  63. package/build/product-kb/docs/faq/stacks/elasticsearch/comparisons.md +3 -3
  64. package/build/product-kb/docs/faq/stacks/elasticsearch/index.md +1 -1
  65. package/build/product-kb/docs/faq/stacks/index.md +1 -1
  66. package/build/product-kb/docs/faq/stacks/splunk/comparisons.md +4 -4
  67. package/build/product-kb/docs/faq/stacks/splunk/index.md +3 -3
  68. package/build/product-kb/docs/faq/stacks/splunk/optimization.md +1 -1
  69. package/build/product-kb/docs/install/datadog.md +99 -0
  70. package/build/product-kb/docs/run/bootstrap/index.md +42 -21
  71. package/build/product-kb/docs/run/index.md +1 -1
  72. package/build/product-kb/docs/run/initialize/message/index.md +29 -8
  73. package/build/product-kb/docs/run/input/analyzer/cloudwatchLogs/index.md +1 -1
  74. package/build/product-kb/docs/run/input/analyzer/datadogLogs/index.md +1 -1
  75. package/build/product-kb/docs/run/input/analyzer/elasticsearch/index.md +1 -1
  76. package/build/product-kb/docs/run/input/analyzer/index.md +1 -1
  77. package/build/product-kb/docs/run/input/analyzer/splunk/index.md +1 -1
  78. package/build/product-kb/docs/run/input/forwarder/datadogAgent/index.md +19 -7
  79. package/build/product-kb/docs/run/input/forwarder/filebeat/index.md +16 -2
  80. package/build/product-kb/docs/run/input/forwarder/fluentbit/index.md +18 -7
  81. package/build/product-kb/docs/run/input/forwarder/fluentd/index.md +18 -7
  82. package/build/product-kb/docs/run/input/forwarder/logstash/index.md +15 -5
  83. package/build/product-kb/docs/run/input/forwarder/otel-collector/index.md +43 -9
  84. package/build/product-kb/docs/run/input/forwarder/vector/index.md +18 -7
  85. package/build/product-kb/docs/run/input/objectStorage/delete/index.md +16 -6
  86. package/build/product-kb/docs/run/input/objectStorage/index.md +2 -2
  87. package/build/product-kb/docs/run/input/objectStorage/input/index.md +14 -6
  88. package/build/product-kb/docs/run/input/objectStorage/query/index.md +11 -5
  89. package/build/product-kb/docs/run/input/stream/index.md +1 -1
  90. package/build/product-kb/docs/run/monitor/index.md +1 -1
  91. package/build/product-kb/docs/run/output/event/dev/index.md +2 -2
  92. package/build/product-kb/docs/run/output/event/outputStream/index.md +1 -1
  93. package/build/product-kb/docs/run/output/metric/index.md +8 -8
  94. package/build/product-kb/docs/run/output/metric/log10x/index.md +291 -1
  95. package/build/product-kb/docs/run/output/metric/prometheus/remote-write/index.md +1 -1
  96. package/build/product-kb/docs/run/output/stream/index.md +2 -2
  97. package/build/product-kb/docs/run/receive/compact/index.md +7 -7
  98. package/build/product-kb/docs/run/receive/rate/index.md +67 -33
  99. package/build/product-kb/docs/run/transform/index.md +1 -1
  100. package/build/product-kb/docs/summary.md +1 -1
  101. package/build/tools/advise-install.d.ts +4 -4
  102. package/build/tools/advise-install.js +73 -15
  103. package/build/tools/advise-install.js.map +1 -1
  104. package/build/tools/advise-retriever.d.ts +11 -0
  105. package/build/tools/advise-retriever.js +185 -30
  106. package/build/tools/advise-retriever.js.map +1 -1
  107. package/build/tools/baseline.d.ts +15 -0
  108. package/build/tools/baseline.js +20 -3
  109. package/build/tools/baseline.js.map +1 -1
  110. package/build/tools/configure-engine.d.ts +9 -4
  111. package/build/tools/configure-engine.js +9 -4
  112. package/build/tools/configure-engine.js.map +1 -1
  113. package/build/tools/cost-options.js +24 -10
  114. package/build/tools/cost-options.js.map +1 -1
  115. package/build/tools/estimate-savings.d.ts +57 -1
  116. package/build/tools/estimate-savings.js +103 -8
  117. package/build/tools/estimate-savings.js.map +1 -1
  118. package/build/tools/explain-mode.js +11 -9
  119. package/build/tools/explain-mode.js.map +1 -1
  120. package/build/tools/measure-compaction.js +38 -3
  121. package/build/tools/measure-compaction.js.map +1 -1
  122. package/build/tools/pattern-mitigate.js +1 -1
  123. package/build/tools/pattern-mitigate.js.map +1 -1
  124. package/default-manifest.json +1 -1
  125. package/package.json +1 -1
  126. package/build/product-kb/docs/apps/receiver/compact/clickhouse.md +0 -583
@@ -1 +1 @@
1
- {"version":3,"file":"retriever.js","sourceRoot":"","sources":["../../../src/lib/advisor/retriever.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retriever.js","sourceRoot":"","sources":["../../../src/lib/advisor/retriever.ts"],"names":[],"mappings":"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"}
@@ -11,18 +11,19 @@
11
11
  * uncertainty bands, and degrades savings for small events where
12
12
  * envelope overhead dominates.
13
13
  *
14
- * Compact-ratio numbers come from the CH/ES PoC findings:
15
- * - ClickHouse dict+UDF+view: 70-78% typical reduction on noisy payloads
16
- * (7-79% observed range). Modeled here as compact_ratio 0.22..0.30
17
- * (post/pre).
14
+ * Compact-ratio numbers come from the ES/Splunk PoC findings:
18
15
  * - Elasticsearch pruned (compactable fields excluded from _source):
19
16
  * 45-73% reduction range. Modeled as compact_ratio 0.30..0.40.
20
17
  * - Elasticsearch unpruned: ~45-55% post/pre. Returned via
21
18
  * getDestinationCostModel(dest, {esPruned:false}).
22
19
  * - Splunk envelope-in-event: ~92% reduction on the OUTER stream.
23
20
  * Modeled as 0.08..0.15.
24
- * - Datadog/CW/Azure/GCP/Sumo/Coralogix: no-op (destination cannot accept
25
- * encoded events). compact_ratio = 1.0..1.0; a caveat is emitted by callers.
21
+ * - Datadog/CW/Azure/GCP/Sumo/Coralogix/ClickHouse: no-op. compact_ratio =
22
+ * 1.0..1.0; a caveat is emitted by callers. On ClickHouse the reason is
23
+ * measured rather than structural: the text index and the column codecs
24
+ * already absorb almost all of it, so compaction moves about 7% of table
25
+ * bytes, and table bytes are not where a ClickHouse bill lives. The lever
26
+ * there is rows that never enter, priced through the `compute` term below.
26
27
  *
27
28
  * Small-event degradation: below `small_event_floor_bytes` (default 100),
28
29
  * envelope overhead linearly degrades the compact ratio toward 1.0. At
@@ -53,12 +54,11 @@ export type BillingBasis = 'uncompressed-ingest' | 'compressed-ingest' | 'indexe
53
54
  * - no-op: destination cannot accept encoded events (Datadog &
54
55
  * friends). compact_ratio fixed at 1.0; caller warns.
55
56
  * - envelope: Splunk-style encode-in-event; query-time expand.
56
- * - dict-udf-view: ClickHouse dictionary + UDF + view path.
57
57
  * - index-pruned: ES with `_source.excludes` of compactable fields.
58
58
  * - index-unpruned: ES without pruning (savings come from value-level
59
59
  * rewrite, not index pruning).
60
60
  */
61
- export type CompactMode = 'no-op' | 'envelope' | 'dict-udf-view' | 'index-pruned' | 'index-unpruned';
61
+ export type CompactMode = 'no-op' | 'envelope' | 'index-pruned' | 'index-unpruned';
62
62
  /**
63
63
  * Cheaper storage/ingest tier that tier_down routes events to.
64
64
  * When present in a destination's cost model, projectActionWithRatio can
@@ -73,6 +73,77 @@ export interface TierDownTargetTier {
73
73
  /** Cheaper storage rate for this tier ($/GB-month). */
74
74
  storage_rate_usd_per_gb_month: number;
75
75
  }
76
+ /**
77
+ * A destination whose bill is COMPUTE, not bytes accepted or bytes stored.
78
+ *
79
+ * ClickHouse is the only one modeled this way. Its storage line is small and
80
+ * its ingest line is zero, so pricing it on bytes alone reads as if the bill
81
+ * were somewhere it is not. What moves a ClickHouse bill is rows that never
82
+ * enter: insert and merge CPU follows row count, faster than linearly, because
83
+ * a row never written is not paid for once and is not paid for again on every
84
+ * merge that would have carried it.
85
+ *
86
+ * `curve` maps rows KEPT (as a fraction of what arrives today) to insert-plus-
87
+ * merge CPU as a fraction of today's. Points are measured; between them this
88
+ * model interpolates linearly and nothing else.
89
+ *
90
+ * Compute is bought in whole units within the autoscaler's bounds, so a CPU
91
+ * drop is worth nothing until a whole unit can go, and never below the floor.
92
+ * `unit_step` and `min_units` carry that.
93
+ */
94
+ export interface DestinationComputeTerm {
95
+ /** What the CPU curve is indexed on. Rows inserted is the only measured one. */
96
+ basis: 'rows-inserted';
97
+ /** List price of one compute unit, $/hour. */
98
+ unit_usd_per_hour: number;
99
+ /** True when the platform bills whole units (round up), not fractions. */
100
+ unit_step: boolean;
101
+ /** Lowest unit count the service can run at. Never billed below this. */
102
+ min_units: number;
103
+ /**
104
+ * [rowsKeptFraction, cpuFraction] points, ascending by rowsKeptFraction.
105
+ * Endpoints at 0 and 1 are required so every input is bracketed.
106
+ */
107
+ curve: Array<[number, number]>;
108
+ }
109
+ /**
110
+ * What the rows-kept fraction was actually derived from on THIS call.
111
+ *
112
+ * - 'rows-inserted': a real row or event count. The basis the curve was
113
+ * measured on, so the answer means what it says.
114
+ * - 'bytes-removed-as-rows-proxy': bytes stood in for rows because no count
115
+ * was available. Fine when the removed patterns have about the average
116
+ * event size, and wrong in proportion to how far they do not: removing
117
+ * long lines takes more bytes than rows and understates the compute saving,
118
+ * removing short ones overstates it.
119
+ */
120
+ export type ComputeBasis = 'rows-inserted' | 'bytes-removed-as-rows-proxy';
121
+ /** What a compute term says about one action, on one estate. */
122
+ export interface ComputeSavingProjection {
123
+ basis: ComputeBasis;
124
+ /** Rows still inserted after the action, as a fraction of today's rows. */
125
+ rows_kept_fraction: number;
126
+ /** Insert-plus-merge CPU after the action, as a fraction of today's. */
127
+ cpu_fraction: number;
128
+ /**
129
+ * Compute units billed before and after, whole units, floored at min_units.
130
+ * Present only when the caller supplied current units or a monthly spend.
131
+ */
132
+ units_before?: number;
133
+ units_after?: number;
134
+ /** (units_before - units_after) x unit_usd_per_hour x 730. */
135
+ saving_usd_month?: number;
136
+ /**
137
+ * Share of today's compute bill this action removes. When units are known
138
+ * this is (units_before - units_after) / units_before, which is the stepped
139
+ * answer and can be 0 at the floor. When they are not, it is 1 - cpu_fraction,
140
+ * which is the unstepped shape of the curve and nothing more.
141
+ */
142
+ saving_fraction: number;
143
+ /** Always true. No ClickHouse compute dollar in this codebase is measured on the customer's estate. */
144
+ modeled: true;
145
+ note: string;
146
+ }
76
147
  export interface DestinationCostModel {
77
148
  destination: SiemId;
78
149
  /** $/GB billed at ingest. */
@@ -134,6 +205,13 @@ export interface DestinationCostModel {
134
205
  * = Basic Logs; alt = [Auxiliary Logs].
135
206
  */
136
207
  tier_down_alt_tiers?: TierDownTargetTier[];
208
+ /**
209
+ * Present only where the bill is compute rather than bytes. ClickHouse only.
210
+ * Do not add one to a destination that bills per GB accepted or per GB
211
+ * stored: there the byte projection already IS the bill, and a compute term
212
+ * would double-count it.
213
+ */
214
+ compute?: DestinationComputeTerm;
137
215
  }
138
216
  /**
139
217
  * Provenance tag for any dollar value the pipeline emits.
@@ -199,6 +277,20 @@ export interface SavingsProjection {
199
277
  ingest: 'list' | 'customer_supplied' | 'unset';
200
278
  storage: 'list' | 'customer_supplied' | 'unset';
201
279
  };
280
+ /**
281
+ * Present only on a destination with a `compute` term (ClickHouse), and only
282
+ * for the actions that keep rows out of the cluster: offload, drop, sample.
283
+ * The byte axis above still carries the storage saving; this carries the
284
+ * compute one, which is the larger number and the modeled one.
285
+ */
286
+ compute_saving?: ComputeSavingProjection;
287
+ /**
288
+ * True when any dollar on this projection rests on a model rather than on the
289
+ * destination's own meter. Set on every ClickHouse projection, because the
290
+ * compute term is a curve fitted to one capture and a unit floor that is
291
+ * ASSUMED. Renderers must carry the word "modeled" wherever they print these.
292
+ */
293
+ modeled?: boolean;
202
294
  notes?: string[];
203
295
  }
204
296
  /**
@@ -284,10 +376,10 @@ export declare function getAllowedActionsForDestination(destination: string): Ac
284
376
  * destination, in place".
285
377
  *
286
378
  * True only where the destination has a real compaction mechanism: Splunk
287
- * (envelope), self-hosted Elasticsearch/OpenSearch (index-pruned) and
288
- * ClickHouse (dict-UDF-view). Everywhere else `compact_mode` is `no-op`
289
- * with ratio 1.0, and claiming in-place compaction there is a false
290
- * statement about the customer's own platform.
379
+ * (envelope) and self-hosted Elasticsearch/OpenSearch (index-pruned).
380
+ * Everywhere else `compact_mode` is `no-op` with ratio 1.0, and claiming
381
+ * in-place compaction there is a false statement about the customer's own
382
+ * platform.
291
383
  *
292
384
  * Every surface that renders or gates compaction language routes through
293
385
  * this. Without it the renderer carries rival notions of the same fact:
@@ -325,6 +417,34 @@ export declare function getDestinationCostModel(dest: SiemId, opts?: {
325
417
  * Exposed for testing; not part of the v1 stable surface.
326
418
  */
327
419
  export declare function degradeRatioForSmallEvents(baseRatio: number, avgSize?: number, floor?: number): number;
420
+ /** Hours in a billing month, the figure every compute dollar here is built on. */
421
+ export declare const HOURS_PER_MONTH = 730;
422
+ /**
423
+ * Insert-plus-merge CPU as a fraction of today's, for a given fraction of
424
+ * today's rows kept. Linear between measured points; identity outside them,
425
+ * which cannot happen once a curve carries its 0 and 1 endpoints.
426
+ *
427
+ * Exposed for testing and for surfaces that want the shape without the money.
428
+ */
429
+ export declare function cpuFractionForRowsKept(curve: Array<[number, number]>, rowsKeptFraction: number): number;
430
+ /**
431
+ * Model what an action does to a compute-billed destination's bill.
432
+ *
433
+ * Whole units, floored: the platform bills capacity in units within the
434
+ * autoscaler's bounds, so lower CPU is worth nothing until a whole unit can go
435
+ * and never below the floor. A small estate already at the floor saves zero,
436
+ * and this returns zero rather than a fractional dollar the invoice will not
437
+ * show.
438
+ *
439
+ * Without a current unit count or a monthly spend there is no dollar to give,
440
+ * so this returns the fraction and says what to supply.
441
+ */
442
+ export declare function projectComputeSaving(compute: DestinationComputeTerm, rowsKeptFraction: number, opts?: {
443
+ current_units?: number;
444
+ monthly_spend_usd?: number;
445
+ /** What the fraction came from. Defaults to the curve's own basis. */
446
+ basis?: ComputeBasis;
447
+ }): ComputeSavingProjection;
328
448
  export interface ProjectActionArgs {
329
449
  action: Action;
330
450
  bytes_in: number;
@@ -367,12 +487,31 @@ export interface ProjectActionArgs {
367
487
  * where the on-wire encoded size IS the billed size), this replaces the
368
488
  * static destination band for action='compact' so the projection reflects
369
489
  * the service's real compressibility instead of a destination-wide guess.
370
- * Ignored on index-pruned (ES) / dict-udf-view (ClickHouse) destinations,
371
- * where the wire ratio diverges from the billed index/stored size; those
372
- * keep the static band for the dollar projection. The value already
490
+ * Ignored on index-pruned (ES) destinations, where the wire ratio diverges
491
+ * from the billed index size; those keep the static band for the dollar
492
+ * projection. Ignored on ClickHouse too, where compact is a no-op. The value already
373
493
  * reflects realized small-event overhead, so it is NOT re-degraded.
374
494
  */
375
495
  compact_ratio_override?: number;
496
+ /**
497
+ * Compute-billed destinations only (ClickHouse). The service's CURRENT
498
+ * compute unit count. Supply it, or `monthly_compute_spend_usd`, to get a
499
+ * dollar compute saving instead of a fraction.
500
+ */
501
+ current_compute_units?: number;
502
+ /**
503
+ * Compute-billed destinations only. The service's current monthly compute
504
+ * spend in dollars. Converted to units at the model's unit price when
505
+ * `current_compute_units` is absent.
506
+ */
507
+ monthly_compute_spend_usd?: number;
508
+ /**
509
+ * Rows still inserted after the action, as a fraction of the cluster's
510
+ * current rows. Supply it when `bytes_in` is one slice of a larger estate.
511
+ * When absent, the compute term ASSUMES `bytes_in` is everything the cluster
512
+ * takes today and reads rows kept off the byte reduction.
513
+ */
514
+ rows_kept_fraction?: number;
376
515
  }
377
516
  /**
378
517
  * Compute reduction as a 0..100 percent. Always non-negative and clamped to
package/build/lib/cost.js CHANGED
@@ -11,18 +11,19 @@
11
11
  * uncertainty bands, and degrades savings for small events where
12
12
  * envelope overhead dominates.
13
13
  *
14
- * Compact-ratio numbers come from the CH/ES PoC findings:
15
- * - ClickHouse dict+UDF+view: 70-78% typical reduction on noisy payloads
16
- * (7-79% observed range). Modeled here as compact_ratio 0.22..0.30
17
- * (post/pre).
14
+ * Compact-ratio numbers come from the ES/Splunk PoC findings:
18
15
  * - Elasticsearch pruned (compactable fields excluded from _source):
19
16
  * 45-73% reduction range. Modeled as compact_ratio 0.30..0.40.
20
17
  * - Elasticsearch unpruned: ~45-55% post/pre. Returned via
21
18
  * getDestinationCostModel(dest, {esPruned:false}).
22
19
  * - Splunk envelope-in-event: ~92% reduction on the OUTER stream.
23
20
  * Modeled as 0.08..0.15.
24
- * - Datadog/CW/Azure/GCP/Sumo/Coralogix: no-op (destination cannot accept
25
- * encoded events). compact_ratio = 1.0..1.0; a caveat is emitted by callers.
21
+ * - Datadog/CW/Azure/GCP/Sumo/Coralogix/ClickHouse: no-op. compact_ratio =
22
+ * 1.0..1.0; a caveat is emitted by callers. On ClickHouse the reason is
23
+ * measured rather than structural: the text index and the column codecs
24
+ * already absorb almost all of it, so compaction moves about 7% of table
25
+ * bytes, and table bytes are not where a ClickHouse bill lives. The lever
26
+ * there is rows that never enter, priced through the `compute` term below.
26
27
  *
27
28
  * Small-event degradation: below `small_event_floor_bytes` (default 100),
28
29
  * envelope overhead linearly degrades the compact ratio toward 1.0. At
@@ -225,16 +226,79 @@ export const COST_MODEL_BY_DESTINATION = {
225
226
  storage_rate_usd_per_gb_month: 0.008,
226
227
  },
227
228
  },
229
+ // ClickHouse is priced as a COMPUTE bill. Ingest is genuinely $0 and the
230
+ // storage rate below is genuinely small, and both stay because both are
231
+ // true; what changed is that neither is the bill. See `compute`.
228
232
  clickhouse: {
229
233
  destination: 'clickhouse',
230
234
  ingest_per_gb: 0.0,
231
235
  storage_per_gb_month: 0.023,
232
236
  billing_basis: 'stored-month',
233
- compact_mode: 'dict-udf-view',
234
- compact_requires: 'the 10x ClickHouse dictionary + UDF + view installed (it auto-expands them inside a view)',
235
- compact_ratio_low: 0.22,
236
- compact_ratio_high: 0.3,
237
+ // COMPACT IS NOT A LEVER ON CLICKHOUSE, and this is a measurement rather
238
+ // than a missing expander. On a ClickStack table at ZSTD(1) the compact
239
+ // form is worth about 7% of table bytes: the text index and the column
240
+ // codecs have already taken the repetition that compaction would take.
241
+ // Seven percent of a line that is itself a small share of the bill is not
242
+ // a lever. Offload is.
243
+ compact_mode: 'no-op',
244
+ compact_unavailable_reason: 'the column codecs and the text index already absorb the repetition compaction would remove, so it is worth about 7% of table bytes, and table bytes are not where a ClickHouse bill lives',
245
+ compact_ratio_low: 1.0,
246
+ compact_ratio_high: 1.0,
237
247
  small_event_floor_bytes: 80,
248
+ // COMPUTE TERM. Rows that never enter are the lever.
249
+ //
250
+ // unit_usd_per_hour 0.2985 is ASSUMED to be the customer's rate: it is the
251
+ // ClickHouse Cloud Scale compute unit (8 GiB / 2 vCPU, billed per minute)
252
+ // at documented list pricing read 2026-09. Nobody's contract is list, and
253
+ // a self-hosted cluster does not buy units at all. Treat it as a knob.
254
+ //
255
+ // min_units 12 is an ASSUMPTION: three replicas of four units, the
256
+ // autoscaler's configured minimum on a Scale service sized for a log
257
+ // estate. It is a knob, not a measurement. Where the customer's own floor
258
+ // is known, pass it and the stepping answers differently.
259
+ //
260
+ // curve: measured 2026-09-13 (benchmarks clickhouse-clickstack,
261
+ // compute-vs-rows). Insert CPU from system.query_log, merge CPU from
262
+ // system.part_log, fastest of three passes after a discarded warm-up, same
263
+ // ClickStack schema at ZSTD(1) in every arm. The points below are the
264
+ // `bypattern` arms, where whole message types were removed, because that is
265
+ // what a per-pattern policy actually does; the uniform-sample arms agree
266
+ // within a couple of points at half and a quarter of the rows.
267
+ // rows 72.85% -> CPU 83% (bypattern_75)
268
+ // rows 49.32% -> CPU 35% (bypattern_50)
269
+ // rows 23.88% -> CPU 15% (bypattern_25)
270
+ // Endpoints (0,0) and (1,1) close the curve. Between points, linear.
271
+ //
272
+ // THE 0.7285 POINT IS THE WEAK ONE, and the results file says so: it is
273
+ // the arm the run calls "the one arm that disagrees", at 83% of the CPU
274
+ // against its uniform twin's 63%. The file attributes that to what the two
275
+ // removed message types were, the OpenTelemetry collector's debug
276
+ // exporter, whose lines are long and highly repetitive, so taking them out
277
+ // leaves a residue that costs more per row to tokenise and compress.
278
+ // Fastest-of-three is kept here to match the other points and the
279
+ // published table; median-of-three would put it at 0.78 instead of 0.83.
280
+ // The shipped value is the more conservative of the two, and this segment
281
+ // is where the curve is LESS than proportional (see the crossover note
282
+ // below), so it understates the saving rather than overstating it.
283
+ //
284
+ // CROSSOVER: above rows-kept of about 0.63 the curve sits above the
285
+ // diagonal, meaning removing a small share of rows saves less than that
286
+ // share of compute. Below it the curve sits under the diagonal and removal
287
+ // saves more than proportionally. Only the second half is the product
288
+ // claim; the first half is the model being cautious about small cuts.
289
+ compute: {
290
+ basis: 'rows-inserted',
291
+ unit_usd_per_hour: 0.2985,
292
+ unit_step: true,
293
+ min_units: 12,
294
+ curve: [
295
+ [0.0, 0.0],
296
+ [0.2388, 0.15],
297
+ [0.4932, 0.35],
298
+ [0.7285, 0.83],
299
+ [1.0, 1.0],
300
+ ],
301
+ },
238
302
  },
239
303
  cloudwatch: {
240
304
  destination: 'cloudwatch',
@@ -362,8 +426,9 @@ export const DEFAULT_ACTION_BY_DESTINATION = {
362
426
  elasticsearch_managed: ['offload'],
363
427
  opensearch_self: ['compact', 'offload'],
364
428
  opensearch_managed: ['offload'],
365
- // ClickHouse: the dict+UDF+view compact path is the level-1 lever (PoC: 70-78%).
366
- clickhouse: ['compact', 'offload'],
429
+ // ClickHouse: offload is the only modeled lever. Compaction is a no-op on the
430
+ // billed measure, and the cold-table tier_down recipe is not built yet.
431
+ clickhouse: ['offload'],
367
432
  // Single-lever destinations.
368
433
  sumo: ['offload'],
369
434
  newrelic: ['offload'],
@@ -406,10 +471,10 @@ export function getAllowedActionsForDestination(destination) {
406
471
  * destination, in place".
407
472
  *
408
473
  * True only where the destination has a real compaction mechanism: Splunk
409
- * (envelope), self-hosted Elasticsearch/OpenSearch (index-pruned) and
410
- * ClickHouse (dict-UDF-view). Everywhere else `compact_mode` is `no-op`
411
- * with ratio 1.0, and claiming in-place compaction there is a false
412
- * statement about the customer's own platform.
474
+ * (envelope) and self-hosted Elasticsearch/OpenSearch (index-pruned).
475
+ * Everywhere else `compact_mode` is `no-op` with ratio 1.0, and claiming
476
+ * in-place compaction there is a false statement about the customer's own
477
+ * platform.
413
478
  *
414
479
  * Every surface that renders or gates compaction language routes through
415
480
  * this. Without it the renderer carries rival notions of the same fact:
@@ -527,6 +592,85 @@ export function degradeRatioForSmallEvents(baseRatio, avgSize, floor = 100) {
527
592
  const penalty = (floor - avgSize) / floor; // 0..1
528
593
  return Math.min(1, baseRatio + (1 - baseRatio) * penalty);
529
594
  }
595
+ /** Hours in a billing month, the figure every compute dollar here is built on. */
596
+ export const HOURS_PER_MONTH = 730;
597
+ /**
598
+ * Insert-plus-merge CPU as a fraction of today's, for a given fraction of
599
+ * today's rows kept. Linear between measured points; identity outside them,
600
+ * which cannot happen once a curve carries its 0 and 1 endpoints.
601
+ *
602
+ * Exposed for testing and for surfaces that want the shape without the money.
603
+ */
604
+ export function cpuFractionForRowsKept(curve, rowsKeptFraction) {
605
+ const kept = Math.max(0, Math.min(1, rowsKeptFraction));
606
+ const pts = [...curve].sort((a, b) => a[0] - b[0]);
607
+ for (let i = 0; i < pts.length - 1; i++) {
608
+ const [r0, c0] = pts[i];
609
+ const [r1, c1] = pts[i + 1];
610
+ if (kept >= r0 && kept <= r1) {
611
+ if (r1 === r0)
612
+ return c0;
613
+ return c0 + ((c1 - c0) * (kept - r0)) / (r1 - r0);
614
+ }
615
+ }
616
+ return kept;
617
+ }
618
+ /**
619
+ * Model what an action does to a compute-billed destination's bill.
620
+ *
621
+ * Whole units, floored: the platform bills capacity in units within the
622
+ * autoscaler's bounds, so lower CPU is worth nothing until a whole unit can go
623
+ * and never below the floor. A small estate already at the floor saves zero,
624
+ * and this returns zero rather than a fractional dollar the invoice will not
625
+ * show.
626
+ *
627
+ * Without a current unit count or a monthly spend there is no dollar to give,
628
+ * so this returns the fraction and says what to supply.
629
+ */
630
+ export function projectComputeSaving(compute, rowsKeptFraction, opts) {
631
+ const kept = Math.max(0, Math.min(1, rowsKeptFraction));
632
+ const basis = opts?.basis ?? compute.basis;
633
+ // The curve is indexed on rows. When bytes stood in for rows, say so beside
634
+ // every number it produced rather than only in the field name.
635
+ const proxyCaveat = basis === 'bytes-removed-as-rows-proxy'
636
+ ? ' Rows kept is derived from bytes removed, not from a row count, so it skews when the removed patterns differ in average event size from the rest.'
637
+ : '';
638
+ const cpuFraction = cpuFractionForRowsKept(compute.curve, kept);
639
+ const monthlyPerUnit = compute.unit_usd_per_hour * HOURS_PER_MONTH;
640
+ let currentUnits = opts?.current_units;
641
+ if (currentUnits == null && opts?.monthly_spend_usd != null && monthlyPerUnit > 0) {
642
+ currentUnits = opts.monthly_spend_usd / monthlyPerUnit;
643
+ }
644
+ if (currentUnits == null || !Number.isFinite(currentUnits) || currentUnits <= 0) {
645
+ return {
646
+ basis,
647
+ rows_kept_fraction: kept,
648
+ cpu_fraction: cpuFraction,
649
+ saving_fraction: 1 - cpuFraction,
650
+ modeled: true,
651
+ note: 'modeled compute saving: supply current compute units or monthly compute spend to get dollars.' +
652
+ proxyCaveat,
653
+ };
654
+ }
655
+ const step = (u) => (compute.unit_step ? Math.ceil(u) : u);
656
+ const units_before = Math.max(compute.min_units, step(currentUnits));
657
+ const units_after = Math.max(compute.min_units, step(units_before * cpuFraction));
658
+ const saving_usd_month = (units_before - units_after) * compute.unit_usd_per_hour * HOURS_PER_MONTH;
659
+ return {
660
+ basis,
661
+ rows_kept_fraction: kept,
662
+ cpu_fraction: cpuFraction,
663
+ units_before,
664
+ units_after,
665
+ saving_usd_month,
666
+ saving_fraction: units_before > 0 ? (units_before - units_after) / units_before : 0,
667
+ modeled: true,
668
+ note: (units_after === units_before
669
+ ? `modeled compute saving: ${units_before} units before and after. Compute is billed in whole units with a floor of ${compute.min_units}, so this much row reduction sheds none.`
670
+ : `modeled compute saving: ${units_before} units to ${units_after}, at $${compute.unit_usd_per_hour}/unit-hour over ${HOURS_PER_MONTH} hours.`) +
671
+ proxyCaveat,
672
+ };
673
+ }
530
674
  function midpoint(a, b) {
531
675
  return (a + b) / 2;
532
676
  }
@@ -666,8 +810,10 @@ function projectActionWithRatio(args, ratio, confidence) {
666
810
  : model.storage_per_gb_month;
667
811
  // Ingest axis: customer override > list rate (effective for tier) > unset.
668
812
  // model.ingest_per_gb is always a known number in COST_MODEL_BY_DESTINATION
669
- // (clickhouse self-hosted is genuinely $0, not unknown). 'unset' is
670
- // reserved for future destinations that come without a list rate.
813
+ // (ClickHouse is genuinely $0 at ingest, not unknown, and that zero is not
814
+ // the whole bill: the compute term below carries what a ClickHouse cluster
815
+ // actually costs). 'unset' is reserved for future destinations that come
816
+ // without a list rate.
671
817
  const ingestOverride = args.customer_rate?.ingest_per_gb_override;
672
818
  let ingest_dollars;
673
819
  let ingestSource;
@@ -763,6 +909,32 @@ function projectActionWithRatio(args, ratio, confidence) {
763
909
  const total_dollars_disclosed = total_dollars == null
764
910
  ? null
765
911
  : buildDisclosedDollarValue(total_dollars, totalSource, siemLabel, null);
912
+ // Compute term. Only ClickHouse carries one. The byte axis above already
913
+ // holds the storage saving, which on this destination is the small half; the
914
+ // compute saving is the other half and the one worth naming.
915
+ //
916
+ // Rows kept is read off the byte reduction unless the caller states it. That
917
+ // ASSUMES bytes_in is everything the cluster takes today, which is right when
918
+ // the caller is pricing a whole estate and wrong when it is pricing one
919
+ // pattern out of many; `rows_kept_fraction` is there for the second case.
920
+ let compute_saving;
921
+ if (model.compute &&
922
+ (args.action === 'offload' || args.action === 'drop' || args.action === 'sample')) {
923
+ const statedRowsKept = args.rows_kept_fraction;
924
+ const rowsKept = statedRowsKept ?? (args.bytes_in > 0 ? bytes_out / args.bytes_in : 1);
925
+ compute_saving = projectComputeSaving(model.compute, rowsKept, {
926
+ current_units: args.current_compute_units,
927
+ monthly_spend_usd: args.monthly_compute_spend_usd,
928
+ // A caller that states rows_kept_fraction is asserting a row count.
929
+ // Anything else here is bytes wearing a row's name, and the projection
930
+ // says which it got.
931
+ basis: statedRowsKept != null ? 'rows-inserted' : 'bytes-removed-as-rows-proxy',
932
+ });
933
+ notes.push(compute_saving.note);
934
+ }
935
+ if (model.compute) {
936
+ notes.push(`${siemLabel ?? args.destination} dollars are modeled: the bill is compute, priced from a measured rows-to-CPU curve and an ASSUMED unit floor, not from the destination's own meter.`);
937
+ }
766
938
  return {
767
939
  bytes_in: args.bytes_in,
768
940
  bytes_out,
@@ -777,6 +949,8 @@ function projectActionWithRatio(args, ratio, confidence) {
777
949
  confidence,
778
950
  percent_reduction: pct,
779
951
  rate_source: { ingest: ingestSource, storage: storageSource },
952
+ ...(compute_saving ? { compute_saving } : {}),
953
+ ...(model.compute ? { modeled: true } : {}),
780
954
  notes: notes.length ? notes : undefined,
781
955
  };
782
956
  }