Skip to content

Latest commit

 

History

History
227 lines (180 loc) · 7.97 KB

metricexport.mdx

File metadata and controls

227 lines (180 loc) · 7.97 KB
title description published
Metrics Export
Export Chalk metrics to other monitoring systems.
true

import { Attribute, AttributeTable, SubAttribute, SubAttributeTable, } from '@/components/AttributeTable'


Chalk's online dashboard provides a simple way to view metrics about performance of your feature pipelines. However, you may wish to export these metrics from Chalk into other observability tools so that you can view your Chalk-related data alongside data from other systems you maintain.

Exporting metrics

Chalk tracks various time series metrics that measure the latency and throughput of resolvers and streaming pipelines.

Chalk uses TimescaleDB and Promscale to store these metrics. You can use any OpenMetrics-compatible collector to collect metrics about the execution of your feature pipelines from Chalk. Examples include:

Available metrics

The table below summarizes the metrics that are available for export. The headers in the table are the exported metric name followed by the OpenMetrics metric type (gauge, histogram, summary, or counter).

<AttributeTable title={"Metrics"}>

<Attribute field={'resolver_latency_seconds'} kind={'Summary'}> Provides information about the time it takes to compute a resolver.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the resolver, for example, my.company.get_user <SubAttribute field={'quantile'} kind={'0.5 | 0.75 | 0.95 | 0.99'}> Whether this latency represents the median, 75th percentile, 95th percentile, or 99th percentile of the latency <SubAttribute field={'resolver_type'} kind={'online | offline | stream'}> The type of the resolver - online, offline, or stream.

<Attribute field={'query_latency_seconds'} kind={'Summary'}> Provides information about the time it takes to execute an online query.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the query, for example, eligbility_query_v2. Queries without names are labeled "Unnamed" <SubAttribute field={'quantile'} kind={'0.5 | 0.75 | 0.95 | 0.99'}> Whether this latency represents the median, 75th percentile, 95th percentile, or 99th percentile of the latency

<Attribute field={'cron_run_latency_seconds'} kind={'Summary'}> Provides information about the time it takes to execute a cron run.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the resolver executed by the cron run, for example, my.company.get_user <SubAttribute field={'quantile'} kind={'0.5 | 0.75 | 0.95 | 0.99'}> Whether this latency represents the median, 75th percentile, 95th percentile, or 99th percentile of the latency

<Attribute field={'feature_request'} kind={'Counter'}> Provides information about the number of times a feature was computed.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the feature, for example, user.age <SubAttribute field={'status'} kind={'success | failure'}> The status of the computed feature (success or failure) <SubAttribute field={'context'} kind={'inference | cron | migration | streaming'}> The context in which the feature was generated

<Attribute field={'resolver_request'} kind={'Counter'}> Provides information about the number of times a resolver was computed.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the resolver, for example, my.company.get_user <SubAttribute field={'status'} kind={'success | failure'}> The status of the resolver run (success or failure) <SubAttribute field={'context'} kind={'inference | cron | migration | streaming'}> The context in which the resolver ran <SubAttribute field={'resolver_type'} kind={'online | offline | stream'}> The type of the resolver - online, offline, or stream.

<Attribute field={'cron_run_request'} kind={'Counter'}> Provides information about the number of times a cron run was executed.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the resolver executed by the cron run, for example, my.company.get_user <SubAttribute field={'status'} kind={'success | failure'}> The status of the cron run (success or failure)

<Attribute field={'cron_feature_writes'} kind={'Counter'}> Provides information about the number of features computed by cron written to online / offline store.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the resolver executed by the cron run, for example, my.company.get_user <SubAttribute field={'context'} kind={'String'}> Whether the features were written to online or offline store.

<Attribute field={'feature_value'} kind={'Summary'}> Provides statistical information about the value of features.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the feature, for example, user.age <SubAttribute field={'quantile'} kind={'0.5 | 0.75 | 0.95 | 0.99'}> Whether this value represents the median, 75th percentile, 95th percentile, or 99th percentile of the feature value

<Attribute field={'query_request'} kind={'Counter'}> Provides information about the number of times an online query was executed.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The name of the query, for example, eligibility_query_v2. Queries without names are labeled "Unnamed" <SubAttribute field={'status'} kind={'success | failure'}> The status of the query (success or failure)

<Attribute field={'deployment'} kind={'Gauge'}> The active deployment version. This gauge will always have a value of 1 for active deployments. A gauge of this kind is sometimes called an Info metric.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The ID of the deployment.

<Attribute field={'query_http_response'} kind={'Gauge'}> The response counts by HTTP response code.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'environment'} kind={'String'}> The ID of the environment.

<Attribute field={'resolver_high_water_marks'} kind={'Gauge'}> The current max_ingested_timestamp in UNIX epoch time for resolvers.

<SubAttributeTable title={'Tags'}> <SubAttribute field={'id'} kind={'String'}> The ID of the resolver.