Skip to main content

MetricsService

Workspace API


Workspace API / services/executors/MetricsService

services/executors/MetricsService

Classes

MetricsService

Defined in: services/executors/MetricsService.ts:100

Metrics Service

Collects execution metrics and provides monitoring capabilities:

  • Real-time metrics collection
  • Aggregation over time periods
  • Prometheus-compatible export
  • Alert threshold checking

Constructors

Constructor

new MetricsService(thresholds): MetricsService

Defined in: services/executors/MetricsService.ts:105

Parameters
thresholds

Partial<AlertThresholds> = {}

Returns

MetricsService

Methods

recordExecution()

recordExecution(metrics): void

Defined in: services/executors/MetricsService.ts:112

Record execution metrics

Parameters
metrics

ExecutionMetrics

Returns

void

getAggregatedMetrics()

getAggregatedMetrics(periodStart, periodEnd, organizationId?): Promise<AggregatedMetrics>

Defined in: services/executors/MetricsService.ts:142

Get aggregated metrics for a time period

Parameters
periodStart

Date

periodEnd

Date

organizationId?

string

Returns

Promise<AggregatedMetrics>

getMigrationProgress()

getMigrationProgress(): Promise<{ totalSkillVersions: number; migratedToVoltAgent: number; migrationPercent: number; executionsByExecutor: { legacy: number; voltagent: number; }; }>

Defined in: services/executors/MetricsService.ts:258

Get migration progress metrics

Returns

Promise<{ totalSkillVersions: number; migratedToVoltAgent: number; migrationPercent: number; executionsByExecutor: { legacy: number; voltagent: number; }; }>

exportPrometheusMetrics()

exportPrometheusMetrics(): string

Defined in: services/executors/MetricsService.ts:313

Export metrics in Prometheus format

Returns

string

recordShadowComparison()

recordShadowComparison(skillVersionId, organizationId, similarity, behaviorMatch, primaryDurationMs, shadowDurationMs): void

Defined in: services/executors/MetricsService.ts:433

Record shadow comparison metrics

Parameters
skillVersionId

string

organizationId

string

similarity

number

behaviorMatch

boolean

primaryDurationMs

number

shadowDurationMs

number

Returns

void

getThresholds()

getThresholds(): AlertThresholds

Defined in: services/executors/MetricsService.ts:493

Get current thresholds

Returns

AlertThresholds

getRecentMetricsCount()

getRecentMetricsCount(): number

Defined in: services/executors/MetricsService.ts:500

Get recent metrics count

Returns

number

Interfaces

ExecutionMetrics

Defined in: services/executors/MetricsService.ts:16

Execution metrics for a single run

Properties

runId

runId: string

Defined in: services/executors/MetricsService.ts:18

Run ID

executorType

executorType: "voltagent" | "legacy"

Defined in: services/executors/MetricsService.ts:20

Executor type

skillVersionId

skillVersionId: string

Defined in: services/executors/MetricsService.ts:22

Skill version ID

organizationId

organizationId: string

Defined in: services/executors/MetricsService.ts:24

Organization ID

durationMs

durationMs: number

Defined in: services/executors/MetricsService.ts:26

Execution duration in milliseconds

status

status: "succeeded" | "failed" | "cancelled" | "timeout"

Defined in: services/executors/MetricsService.ts:28

Final status

totalTokens?

optional totalTokens: number

Defined in: services/executors/MetricsService.ts:30

Token usage (if available)

stepCount

stepCount: number

Defined in: services/executors/MetricsService.ts:32

Step count

toolCallCount

toolCallCount: number

Defined in: services/executors/MetricsService.ts:34

Tool call count

errorCode?

optional errorCode: string

Defined in: services/executors/MetricsService.ts:36

Error code (if failed)

timestamp

timestamp: Date

Defined in: services/executors/MetricsService.ts:38

Timestamp


AggregatedMetrics

Defined in: services/executors/MetricsService.ts:44

Aggregated metrics for a time period

Properties

periodStart

periodStart: Date

Defined in: services/executors/MetricsService.ts:46

Time period start

periodEnd

periodEnd: Date

Defined in: services/executors/MetricsService.ts:48

Time period end

totalExecutions

totalExecutions: number

Defined in: services/executors/MetricsService.ts:50

Total executions

successCount

successCount: number

Defined in: services/executors/MetricsService.ts:52

Successful executions

failCount

failCount: number

Defined in: services/executors/MetricsService.ts:54

Failed executions

cancelCount

cancelCount: number

Defined in: services/executors/MetricsService.ts:56

Cancelled executions

timeoutCount

timeoutCount: number

Defined in: services/executors/MetricsService.ts:58

Timeout executions

avgDurationMs

avgDurationMs: number

Defined in: services/executors/MetricsService.ts:60

Average duration in milliseconds

p50DurationMs

p50DurationMs: number

Defined in: services/executors/MetricsService.ts:62

P50 duration

p95DurationMs

p95DurationMs: number

Defined in: services/executors/MetricsService.ts:64

P95 duration

p99DurationMs

p99DurationMs: number

Defined in: services/executors/MetricsService.ts:66

P99 duration

totalTokens

totalTokens: number

Defined in: services/executors/MetricsService.ts:68

Total tokens used

byExecutor

byExecutor: object

Defined in: services/executors/MetricsService.ts:70

Breakdown by executor type

legacy

legacy: object

legacy.count

count: number

legacy.avgDurationMs

avgDurationMs: number

legacy.errorRate

errorRate: number

voltagent

voltagent: object

voltagent.count

count: number

voltagent.avgDurationMs

avgDurationMs: number

voltagent.errorRate

errorRate: number


AlertThresholds

Defined in: services/executors/MetricsService.ts:79

Alert thresholds

Properties

errorRateThreshold

errorRateThreshold: number

Defined in: services/executors/MetricsService.ts:81

Error rate threshold (0-1)

p95LatencyThresholdMs

p95LatencyThresholdMs: number

Defined in: services/executors/MetricsService.ts:83

P95 latency threshold in milliseconds

Functions

getMetricsService()

getMetricsService(thresholds?): MetricsService

Defined in: services/executors/MetricsService.ts:513

Get the metrics service instance

Parameters

thresholds?

Partial<AlertThresholds>

Returns

MetricsService