MetricsService
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
Methods
recordExecution()
recordExecution(
metrics):void
Defined in: services/executors/MetricsService.ts:112
Record execution metrics
Parameters
metrics
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
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?
optionaltotalTokens: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?
optionalerrorCode: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>