autotel-devtools 23.0.0 → 23.1.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/dist/cli.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- const require_http = require('./http-Cqm_MAtc.cjs');
2
+ const require_http = require('./http-1afd_01N.cjs');
3
3
  const require_listen = require('./listen-l09RRHht.cjs');
4
- const require_grpc = require('./grpc-CSWjMRiB.cjs');
4
+ const require_grpc = require('./grpc-D0B3P9sI.cjs');
5
5
  let node_http = require("node:http");
6
6
  let node_fs = require("node:fs");
7
7
  let node_path = require("node:path");
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { a as probePortHolder, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-Dbd9TIYU.js";
2
+ import { a as probePortHolder, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-gk1xapnA.js";
3
3
  import { t as listenLoopbackDualStack } from "./listen-D-lLgfro.js";
4
- import { t as startOtlpGrpcReceiver } from "./grpc-CZEDUYCM.js";
4
+ import { t as startOtlpGrpcReceiver } from "./grpc-DY-C1jSU.js";
5
5
  import { createServer } from "node:http";
6
6
  import { readFileSync } from "node:fs";
7
7
  import { dirname, resolve } from "node:path";
@@ -278,6 +278,31 @@ declare class DevtoolsStore {
278
278
  };
279
279
  /** Query fields currently present, for editor completion. */
280
280
  listQueryFields(signal: 'traces' | 'logs', limit?: number): string[];
281
+ /**
282
+ * Values of one attribute paired with another on the same entity.
283
+ *
284
+ * `searchAttributes` matches on value text, which cannot answer "what arms
285
+ * does this experiment have". Pairing two keys across the same span can, and
286
+ * that is what turns a pair of cohorts into something the viewer offers
287
+ * rather than something the reader has to type.
288
+ *
289
+ * Rows arrive grouped by `key`, each group's values commonest first, so a
290
+ * caller can build the groups in one pass and take the two commonest as a
291
+ * default pair.
292
+ *
293
+ * The join runs over `attribute_occurrences`, not the `attribute_values`
294
+ * dictionary: occurrences are deleted with their span, so retention prunes
295
+ * them, and they carry the entity a value was seen on, so an arm is only
296
+ * offered for the experiment it actually ran under. The dictionary can do
297
+ * neither — it counts values for the lifetime of the database and forgets
298
+ * which span each came from, which would offer arms belonging to a different
299
+ * experiment and experiments whose spans are long gone.
300
+ */
301
+ pairedAttributeValues(signal: 'traces' | 'logs', key: string, pairedKey: string, limit?: number): Array<{
302
+ value: unknown;
303
+ paired: unknown;
304
+ count: number;
305
+ }>;
281
306
  searchAttributes(signal: 'traces' | 'logs', value: string, limit?: number): Array<{
282
307
  key: string;
283
308
  value: unknown;
@@ -482,6 +507,11 @@ declare class DevtoolsServer {
482
507
  /** Run a log query against the durable store. */
483
508
  queryLogs(args: QueryLogsArgs): QueryLogsResult;
484
509
  listQueryFields(signal: 'traces' | 'logs'): string[];
510
+ pairedAttributeValues(signal: 'traces' | 'logs', key: string, pairedKey: string, limit?: number): {
511
+ value: unknown;
512
+ paired: unknown;
513
+ count: number;
514
+ }[];
485
515
  searchAttributes(signal: 'traces' | 'logs', value: string, limit?: number): {
486
516
  key: string;
487
517
  value: unknown;
@@ -278,6 +278,31 @@ declare class DevtoolsStore {
278
278
  };
279
279
  /** Query fields currently present, for editor completion. */
280
280
  listQueryFields(signal: 'traces' | 'logs', limit?: number): string[];
281
+ /**
282
+ * Values of one attribute paired with another on the same entity.
283
+ *
284
+ * `searchAttributes` matches on value text, which cannot answer "what arms
285
+ * does this experiment have". Pairing two keys across the same span can, and
286
+ * that is what turns a pair of cohorts into something the viewer offers
287
+ * rather than something the reader has to type.
288
+ *
289
+ * Rows arrive grouped by `key`, each group's values commonest first, so a
290
+ * caller can build the groups in one pass and take the two commonest as a
291
+ * default pair.
292
+ *
293
+ * The join runs over `attribute_occurrences`, not the `attribute_values`
294
+ * dictionary: occurrences are deleted with their span, so retention prunes
295
+ * them, and they carry the entity a value was seen on, so an arm is only
296
+ * offered for the experiment it actually ran under. The dictionary can do
297
+ * neither — it counts values for the lifetime of the database and forgets
298
+ * which span each came from, which would offer arms belonging to a different
299
+ * experiment and experiments whose spans are long gone.
300
+ */
301
+ pairedAttributeValues(signal: 'traces' | 'logs', key: string, pairedKey: string, limit?: number): Array<{
302
+ value: unknown;
303
+ paired: unknown;
304
+ count: number;
305
+ }>;
281
306
  searchAttributes(signal: 'traces' | 'logs', value: string, limit?: number): Array<{
282
307
  key: string;
283
308
  value: unknown;
@@ -482,6 +507,11 @@ declare class DevtoolsServer {
482
507
  /** Run a log query against the durable store. */
483
508
  queryLogs(args: QueryLogsArgs): QueryLogsResult;
484
509
  listQueryFields(signal: 'traces' | 'logs'): string[];
510
+ pairedAttributeValues(signal: 'traces' | 'logs', key: string, pairedKey: string, limit?: number): {
511
+ value: unknown;
512
+ paired: unknown;
513
+ count: number;
514
+ }[];
485
515
  searchAttributes(signal: 'traces' | 'logs', value: string, limit?: number): {
486
516
  key: string;
487
517
  value: unknown;