Skip to content

Commit 74d8b1b

Browse files
authored
Merge pull request #216 from rapidaai/feat/vad-init-metrics
feat: removed prefix to dot prefix
2 parents 96fb435 + 51f2515 commit 74d8b1b

10 files changed

Lines changed: 49 additions & 38 deletions

File tree

api/assistant-api/internal/observability/metric.go

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const (
5252
MetricTTSInitLatencyMs = "tts_init_ms"
5353
MetricTTSLatencyMs = "tts_latency_ms"
5454

55-
MetricVADInitLatencyMs = "vad_init_ms"
55+
MetricVADInitLatencyMs = "vad.init_ms"
5656

5757
MetricEOSInitLatencyMs = "eos.init_ms"
5858
MetricEOSLatencyMs = "eos_latency_ms"
@@ -132,16 +132,6 @@ func NewMetricTTSLatencyMs(duration time.Duration, attr Attributes) RecordMetric
132132
return record
133133
}
134134

135-
func NewMetricVADInitLatencyMs(duration time.Duration, attr Attributes) RecordMetric {
136-
record := NewConversationMetricRecord([]*protos.Metric{{
137-
Name: MetricVADInitLatencyMs,
138-
Value: strconv.FormatInt(duration.Milliseconds(), 10),
139-
Description: "VAD initialization latency in milliseconds",
140-
}})
141-
record.Attributes = attr
142-
return record
143-
}
144-
145135
func NewMetricLLMInitLatencyMs(duration time.Duration, attr Attributes) RecordMetric {
146136
record := NewConversationMetricRecord([]*protos.Metric{{
147137
Name: MetricLLMInitLatencyMs,

api/assistant-api/internal/observability/metric_test.go

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func TestMetricNames_MirrorCurrentImplementation(t *testing.T) {
4040
{MetricSTTLatencyMs, "stt_latency_ms"},
4141
{MetricTTSInitLatencyMs, "tts_init_ms"},
4242
{MetricTTSLatencyMs, "tts_latency_ms"},
43-
{MetricVADInitLatencyMs, "vad_init_ms"},
43+
{MetricVADInitLatencyMs, "vad.init_ms"},
4444
{MetricEOSInitLatencyMs, "eos.init_ms"},
4545
{MetricEOSLatencyMs, "eos_latency_ms"},
4646
{MetricEOSTextToTriggerMs, "eos_text_to_trigger_ms"},
@@ -150,22 +150,6 @@ func TestNewMetricTTSLatencyMs(t *testing.T) {
150150
assertRecordAttribute(t, record, "provider", "deepgram")
151151
}
152152

153-
func TestNewMetricVADInitLatencyMs(t *testing.T) {
154-
record := NewMetricVADInitLatencyMs(123*time.Millisecond, Attributes{"provider": "silero_vad"})
155-
metric := singleMetric(t, record)
156-
157-
if metric.Name != MetricVADInitLatencyMs {
158-
t.Fatalf("expected metric name %q, got %q", MetricVADInitLatencyMs, metric.Name)
159-
}
160-
if metric.Value != "123" {
161-
t.Fatalf("expected metric value %q, got %q", "123", metric.Value)
162-
}
163-
if metric.Description != "VAD initialization latency in milliseconds" {
164-
t.Fatalf("expected metric description %q, got %q", "VAD initialization latency in milliseconds", metric.Description)
165-
}
166-
assertRecordAttribute(t, record, "provider", "silero_vad")
167-
}
168-
169153
func TestNewMetricLLMInitLatencyMs(t *testing.T) {
170154
record := NewMetricLLMInitLatencyMs(123*time.Millisecond, Attributes{"provider": "openai"})
171155
metric := singleMetric(t, record)

api/assistant-api/internal/vad/internal/firered_vad/firered_vad.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
internal_type "github.com/rapidaai/api/assistant-api/internal/type"
2222
"github.com/rapidaai/pkg/commons"
2323
"github.com/rapidaai/pkg/utils"
24+
"github.com/rapidaai/protos"
2425
)
2526

2627
// -----------------------------------------------------------------------------
@@ -176,8 +177,15 @@ func New(opts ...Option) (internal_type.VoiceActivityDetectorExecutor, error) {
176177
if options.onPacket != nil {
177178
_ = options.onPacket(options.ctx,
178179
internal_type.ObservabilityMetricRecordPacket{
179-
Scope: internal_type.ObservabilityRecordScopeConversation,
180-
Record: observability.NewMetricVADInitLatencyMs(time.Since(start), observability.Attributes{"provider": vad.Name()}),
180+
Scope: internal_type.ObservabilityRecordScopeConversation,
181+
Record: observability.RecordMetric{
182+
Attributes: observability.Attributes{"provider": vad.Name()},
183+
Metrics: []*protos.Metric{{
184+
Name: observability.MetricVADInitLatencyMs,
185+
Value: fmt.Sprintf("%d", time.Since(start).Milliseconds()),
186+
Description: "VAD initialization latency in milliseconds",
187+
}},
188+
},
181189
},
182190
internal_type.ObservabilityLogRecordPacket{
183191
Scope: internal_type.ObservabilityRecordScopeConversation,

api/assistant-api/internal/vad/internal/silero_vad/silero_vad.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
internal_type "github.com/rapidaai/api/assistant-api/internal/type"
2222
"github.com/rapidaai/pkg/commons"
2323
"github.com/rapidaai/pkg/utils"
24+
"github.com/rapidaai/protos"
2425
)
2526

2627
// -----------------------------------------------------------------------------
@@ -186,8 +187,15 @@ func New(opts ...Option) (internal_type.VoiceActivityDetectorExecutor, error) {
186187
if options.onPacket != nil {
187188
_ = options.onPacket(options.ctx,
188189
internal_type.ObservabilityMetricRecordPacket{
189-
Scope: internal_type.ObservabilityRecordScopeConversation,
190-
Record: observability.NewMetricVADInitLatencyMs(time.Since(start), observability.Attributes{"provider": svad.Name()}),
190+
Scope: internal_type.ObservabilityRecordScopeConversation,
191+
Record: observability.RecordMetric{
192+
Attributes: observability.Attributes{"provider": svad.Name()},
193+
Metrics: []*protos.Metric{{
194+
Name: observability.MetricVADInitLatencyMs,
195+
Value: fmt.Sprintf("%d", time.Since(start).Milliseconds()),
196+
Description: "VAD initialization latency in milliseconds",
197+
}},
198+
},
191199
},
192200
internal_type.ObservabilityLogRecordPacket{
193201
Scope: internal_type.ObservabilityRecordScopeConversation,

api/assistant-api/internal/vad/internal/ten_vad/ten_vad.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
internal_type "github.com/rapidaai/api/assistant-api/internal/type"
1919
"github.com/rapidaai/pkg/commons"
2020
"github.com/rapidaai/pkg/utils"
21+
"github.com/rapidaai/protos"
2122
)
2223

2324
// -----------------------------------------------------------------------------
@@ -188,8 +189,15 @@ func New(opts ...Option) (internal_type.VoiceActivityDetectorExecutor, error) {
188189
if options.onPacket != nil {
189190
_ = options.onPacket(options.ctx,
190191
internal_type.ObservabilityMetricRecordPacket{
191-
Scope: internal_type.ObservabilityRecordScopeConversation,
192-
Record: observability.NewMetricVADInitLatencyMs(time.Since(start), observability.Attributes{"provider": tv.Name()}),
192+
Scope: internal_type.ObservabilityRecordScopeConversation,
193+
Record: observability.RecordMetric{
194+
Attributes: observability.Attributes{"provider": tv.Name()},
195+
Metrics: []*protos.Metric{{
196+
Name: observability.MetricVADInitLatencyMs,
197+
Value: fmt.Sprintf("%d", time.Since(start).Milliseconds()),
198+
Description: "VAD initialization latency in milliseconds",
199+
}},
200+
},
193201
},
194202
internal_type.ObservabilityLogRecordPacket{
195203
Scope: internal_type.ObservabilityRecordScopeConversation,
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
UPDATE public.assistant_conversation_metrics
2+
SET name = 'vad_init_ms'
3+
WHERE name = 'vad.init_ms';
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
UPDATE public.assistant_conversation_metrics
2+
SET name = 'vad.init_ms'
3+
WHERE name = 'vad_init_ms';

ui/src/app/pages/activities/conversation-activity-v2/constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export const METRIC_NAME_OPTIONS: FilterOption[] = [
5757
{ id: 'stt_latency_ms', text: 'stt_latency_ms' },
5858
{ id: 'tts_init_ms', text: 'tts_init_ms' },
5959
{ id: 'tts_latency_ms', text: 'tts_latency_ms' },
60-
{ id: 'vad_init_ms', text: 'vad_init_ms' },
60+
{ id: 'vad.init_ms', text: 'vad.init_ms' },
6161
{ id: 'eos.init_ms', text: 'eos.init_ms' },
6262
{ id: 'eos_latency_ms', text: 'eos_latency_ms' },
6363
{ id: 'eos_text_to_trigger_ms', text: 'eos_text_to_trigger_ms' },

ui/src/app/pages/assistant/view/conversations/session-query-search.test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,13 @@ describe('session query search criteria', () => {
9797
v: '30',
9898
},
9999
]);
100+
expect(getSessionSearchCriteria('vad.init_ms~>=:35')).toEqual([
101+
{
102+
k: 'vad.init_ms',
103+
logic: '>=',
104+
v: '35',
105+
},
106+
]);
100107
});
101108

102109
it('maps date-only timestamp is to the local day range', () => {

ui/src/app/pages/assistant/view/conversations/session-query-search.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -394,8 +394,8 @@ const SESSION_SEARCH_FIELDS: QuerySearchField[] = [
394394
{ label: 'is greater than or equal to', logic: '>=' },
395395
{ label: 'is less than or equal to', logic: '<=' },
396396
],
397-
queryKey: 'vad_init_ms',
398-
text: 'vad_init_ms',
397+
queryKey: 'vad.init_ms',
398+
text: 'vad.init_ms',
399399
type: 'number',
400400
},
401401
{
@@ -486,7 +486,7 @@ const SESSION_SEARCH_CRITERIA: Record<string, string> = {
486486
timestamp: 'created_date',
487487
'tts.duration_ms': 'tts.duration_ms',
488488
tts_init_ms: 'tts_init_ms',
489-
vad_init_ms: 'vad_init_ms',
489+
'vad.init_ms': 'vad.init_ms',
490490
};
491491

492492
const SESSION_SEARCH_TABS = [

0 commit comments

Comments
 (0)