@@ -48,6 +48,21 @@ export class Telemetry extends APIResource {
4848 } ) ;
4949 }
5050
51+ /**
52+ * Query metrics.
53+ */
54+ queryMetrics (
55+ metricName : string ,
56+ body : TelemetryQueryMetricsParams ,
57+ options ?: Core . RequestOptions ,
58+ ) : Core . APIPromise < TelemetryQueryMetricsResponse > {
59+ return (
60+ this . _client . post ( `/v1/telemetry/metrics/${ metricName } ` , { body, ...options } ) as Core . APIPromise < {
61+ data : TelemetryQueryMetricsResponse ;
62+ } >
63+ ) . _thenUnwrap ( ( obj ) => obj . data ) ;
64+ }
65+
5166 /**
5267 * Query spans.
5368 */
@@ -255,6 +270,26 @@ export namespace Event {
255270 }
256271}
257272
273+ /**
274+ * A metric value included in API responses.
275+ */
276+ export interface Metric {
277+ /**
278+ * The name of the metric
279+ */
280+ metric : string ;
281+
282+ /**
283+ * The numeric value of the metric
284+ */
285+ value : number ;
286+
287+ /**
288+ * (Optional) The unit of measurement for the metric value
289+ */
290+ unit ?: string ;
291+ }
292+
258293/**
259294 * A condition for filtering query results.
260295 */
@@ -401,6 +436,68 @@ export interface TelemetryGetSpanResponse {
401436 */
402437export type TelemetryGetSpanTreeResponse = { [ key : string ] : SpanWithStatus } ;
403438
439+ /**
440+ * List of metric series matching the query criteria
441+ */
442+ export type TelemetryQueryMetricsResponse =
443+ Array < TelemetryQueryMetricsResponse . TelemetryQueryMetricsResponseItem > ;
444+
445+ export namespace TelemetryQueryMetricsResponse {
446+ /**
447+ * A time series of metric data points.
448+ */
449+ export interface TelemetryQueryMetricsResponseItem {
450+ /**
451+ * List of labels associated with this metric series
452+ */
453+ labels : Array < TelemetryQueryMetricsResponseItem . Label > ;
454+
455+ /**
456+ * The name of the metric
457+ */
458+ metric : string ;
459+
460+ /**
461+ * List of data points in chronological order
462+ */
463+ values : Array < TelemetryQueryMetricsResponseItem . Value > ;
464+ }
465+
466+ export namespace TelemetryQueryMetricsResponseItem {
467+ /**
468+ * A label associated with a metric.
469+ */
470+ export interface Label {
471+ /**
472+ * The name of the label
473+ */
474+ name : string ;
475+
476+ /**
477+ * The value of the label
478+ */
479+ value : string ;
480+ }
481+
482+ /**
483+ * A single data point in a metric time series.
484+ */
485+ export interface Value {
486+ /**
487+ * Unix timestamp when the metric value was recorded
488+ */
489+ timestamp : number ;
490+
491+ unit : string ;
492+
493+ /**
494+ * The numeric value of the metric at this timestamp
495+ */
496+ value : number ;
497+ }
498+ }
499+ }
500+
404501/**
405502 * List of spans matching the query criteria
406503 */
@@ -477,6 +574,55 @@ export interface TelemetryLogEventParams {
477574 ttl_seconds : number ;
478575}
479576
577+ export interface TelemetryQueryMetricsParams {
578+ /**
579+ * The type of query to perform.
580+ */
581+ query_type : 'range' | 'instant' ;
582+
583+ /**
584+ * The start time of the metric to query.
585+ */
586+ start_time : number ;
587+
588+ /**
589+ * The end time of the metric to query.
590+ */
591+ end_time ?: number ;
592+
593+ /**
594+ * The granularity of the metric to query.
595+ */
596+ granularity ?: string ;
597+
598+ /**
599+ * The label matchers to apply to the metric.
600+ */
601+ label_matchers ?: Array < TelemetryQueryMetricsParams . LabelMatcher > ;
602+ }
603+
604+ export namespace TelemetryQueryMetricsParams {
605+ /**
606+ * A matcher for filtering metrics by label values.
607+ */
608+ export interface LabelMatcher {
609+ /**
610+ * The name of the label to match
611+ */
612+ name : string ;
613+
614+ /**
615+ * The comparison operator to use for matching
616+ */
617+ operator : '=' | '!=' | '=~' | '!~' ;
618+
619+ /**
620+ * The value to match against
621+ */
622+ value : string ;
623+ }
624+ }
625+
480626export interface TelemetryQuerySpansParams {
481627 /**
482628 * The attribute filters to apply to the spans.
@@ -541,16 +687,19 @@ export interface TelemetrySaveSpansToDatasetParams {
541687export declare namespace Telemetry {
542688 export {
543689 type Event as Event ,
690+ type Metric as Metric ,
544691 type QueryCondition as QueryCondition ,
545692 type QuerySpansResponse as QuerySpansResponse ,
546693 type SpanWithStatus as SpanWithStatus ,
547694 type Trace as Trace ,
548695 type TelemetryGetSpanResponse as TelemetryGetSpanResponse ,
549696 type TelemetryGetSpanTreeResponse as TelemetryGetSpanTreeResponse ,
697+ type TelemetryQueryMetricsResponse as TelemetryQueryMetricsResponse ,
550698 type TelemetryQuerySpansResponse as TelemetryQuerySpansResponse ,
551699 type TelemetryQueryTracesResponse as TelemetryQueryTracesResponse ,
552700 type TelemetryGetSpanTreeParams as TelemetryGetSpanTreeParams ,
553701 type TelemetryLogEventParams as TelemetryLogEventParams ,
702+ type TelemetryQueryMetricsParams as TelemetryQueryMetricsParams ,
554703 type TelemetryQuerySpansParams as TelemetryQuerySpansParams ,
555704 type TelemetryQueryTracesParams as TelemetryQueryTracesParams ,
556705 type TelemetrySaveSpansToDatasetParams as TelemetrySaveSpansToDatasetParams ,
0 commit comments