langfuse-client-base 0.12.0

Auto-generated Langfuse API client from OpenAPI specification
Documentation
# \MetricsV2Api

All URIs are relative to *http://localhost*

Method | HTTP request | Description
------------- | ------------- | -------------
[**metrics_v2_metrics**](MetricsV2Api.md#metrics_v2_metrics) | **GET** /api/public/v2/metrics | 



## metrics_v2_metrics

> models::MetricsV2Response metrics_v2_metrics(query)


Get metrics from the Langfuse project using a query object. V2 endpoint with optimized performance.  ## V2 Differences - Supports `observations`, `scores-numeric`, and `scores-categorical` views only (traces view not supported) - Direct access to tags and release fields on observations - Backwards-compatible: traceName, traceRelease, traceVersion dimensions are still available on observations view - High cardinality dimensions are not supported and will return a 400 error (see below)  For more details, see the [Metrics API documentation](https://langfuse.com/docs/metrics/features/metrics-api).  ## Available Views  ### observations Query observation-level data (spans, generations, events).  **Dimensions:** - `environment` - Deployment environment (e.g., production, staging) - `type` - Type of observation (SPAN, GENERATION, EVENT) - `name` - Name of the observation - `level` - Logging level of the observation - `version` - Version of the observation - `tags` - User-defined tags - `release` - Release version - `traceName` - Name of the parent trace (backwards-compatible) - `traceRelease` - Release version of the parent trace (backwards-compatible, maps to release) - `traceVersion` - Version of the parent trace (backwards-compatible, maps to version) - `providedModelName` - Name of the model used - `promptName` - Name of the prompt used - `promptVersion` - Version of the prompt used - `startTimeMonth` - Month of start_time in YYYY-MM format  **Measures:** - `count` - Total number of observations - `latency` - Observation latency (milliseconds) - `streamingLatency` - Generation latency from completion start to end (milliseconds) - `inputTokens` - Sum of input tokens consumed - `outputTokens` - Sum of output tokens produced - `totalTokens` - Sum of all tokens consumed - `outputTokensPerSecond` - Output tokens per second - `tokensPerSecond` - Total tokens per second - `inputCost` - Input cost (USD) - `outputCost` - Output cost (USD) - `totalCost` - Total cost (USD) - `timeToFirstToken` - Time to first token (milliseconds) - `countScores` - Number of scores attached to the observation  ### scores-numeric Query numeric and boolean score data.  **Dimensions:** - `environment` - Deployment environment - `name` - Name of the score (e.g., accuracy, toxicity) - `source` - Origin of the score (API, ANNOTATION, EVAL) - `dataType` - Data type (NUMERIC, BOOLEAN) - `configId` - Identifier of the score config - `timestampMonth` - Month in YYYY-MM format - `timestampDay` - Day in YYYY-MM-DD format - `value` - Numeric value of the score - `traceName` - Name of the parent trace - `tags` - Tags - `traceRelease` - Release version - `traceVersion` - Version - `observationName` - Name of the associated observation - `observationModelName` - Model name of the associated observation - `observationPromptName` - Prompt name of the associated observation - `observationPromptVersion` - Prompt version of the associated observation  **Measures:** - `count` - Total number of scores - `value` - Score value (for aggregations)  ### scores-categorical Query categorical score data. Same dimensions as scores-numeric except uses `stringValue` instead of `value`.  **Measures:** - `count` - Total number of scores  ## High Cardinality Dimensions The following dimensions cannot be used as grouping dimensions in v2 metrics API as they can cause performance issues. Use them in filters instead.  **observations view:** - `id` - Use traceId filter to narrow down results - `traceId` - Use traceId filter instead - `userId` - Use userId filter instead - `sessionId` - Use sessionId filter instead - `parentObservationId` - Use parentObservationId filter instead  **scores-numeric / scores-categorical views:** - `id` - Use specific filters to narrow down results - `traceId` - Use traceId filter instead - `userId` - Use userId filter instead - `sessionId` - Use sessionId filter instead - `observationId` - Use observationId filter instead  ## Aggregations Available aggregation functions: `sum`, `avg`, `count`, `max`, `min`, `p50`, `p75`, `p90`, `p95`, `p99`, `histogram`  ## Time Granularities Available granularities for timeDimension: `auto`, `minute`, `hour`, `day`, `week`, `month` - `auto` bins the data into approximately 50 buckets based on the time range

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**query** | **String** | JSON string containing the query parameters with the following structure: ```json {   \"view\": string,           // Required. One of \"observations\", \"scores-numeric\", \"scores-categorical\"   \"dimensions\": [           // Optional. Default: []     {       \"field\": string       // Field to group by (see available dimensions above)     }   ],   \"metrics\": [              // Required. At least one metric must be provided     {       \"measure\": string,    // What to measure (see available measures above)       \"aggregation\": string // How to aggregate: \"sum\", \"avg\", \"count\", \"max\", \"min\", \"p50\", \"p75\", \"p90\", \"p95\", \"p99\", \"histogram\"     }   ],   \"filters\": [              // Optional. Default: []     {       \"column\": string,     // Column to filter on (any dimension field)       \"operator\": string,   // Operator based on type:                             // - datetime: \">\", \"<\", \">=\", \"<=\"                             // - string: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"                             // - stringOptions: \"any of\", \"none of\"                             // - arrayOptions: \"any of\", \"none of\", \"all of\"                             // - number: \"=\", \">\", \"<\", \">=\", \"<=\"                             // - stringObject/numberObject: same as string/number with required \"key\"                             // - boolean: \"=\", \"<>\"                             // - null: \"is null\", \"is not null\"       \"value\": any,         // Value to compare against       \"type\": string,       // Data type: \"datetime\", \"string\", \"number\", \"stringOptions\", \"categoryOptions\", \"arrayOptions\", \"stringObject\", \"numberObject\", \"boolean\", \"null\"       \"key\": string         // Required only for stringObject/numberObject types (e.g., metadata filtering)     }   ],   \"timeDimension\": {        // Optional. Default: null. If provided, results will be grouped by time     \"granularity\": string   // One of \"auto\", \"minute\", \"hour\", \"day\", \"week\", \"month\"   },   \"fromTimestamp\": string,  // Required. ISO datetime string for start of time range   \"toTimestamp\": string,    // Required. ISO datetime string for end of time range (must be after fromTimestamp)   \"orderBy\": [              // Optional. Default: null     {       \"field\": string,      // Field to order by (dimension or metric alias)       \"direction\": string   // \"asc\" or \"desc\"     }   ],   \"config\": {               // Optional. Query-specific configuration     \"bins\": number,         // Optional. Number of bins for histogram aggregation (1-100), default: 10     \"row_limit\": number     // Optional. Maximum number of rows to return (1-1000), default: 100   } } ``` | [required] |

### Return type

[**models::MetricsV2Response**](MetricsV2Response.md)

### Authorization

[BasicAuth](../README.md#BasicAuth)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)