Skip to content

Commit 7445996

Browse files
committed
code review updates
1 parent 01fbfcd commit 7445996

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

pkgs/dart_mcp_server/lib/src/mixins/dtd.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ base mixin DartToolingDaemonSupport
134134
serverVersion: implementation.version,
135135
type: AnalyticsEvent.readResource.name,
136136
additionalData: ReadResourceMetrics(
137-
kind: 'runtimeErrors',
137+
kind: ResourceKind.runtimeErrors,
138138
length: result.contents.length,
139139
elapsedMilliseconds: watch.elapsedMilliseconds,
140140
),

pkgs/dart_mcp_server/lib/src/utils/analytics.dart

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ abstract interface class AnalyticsSupport {
1515

1616
enum AnalyticsEvent { callTool, readResource }
1717

18+
/// The metrics for a resources/read MCP handler.
1819
final class ReadResourceMetrics extends CustomMetrics {
1920
/// The kind of resource that was read.
2021
///
2122
/// We don't want to record the full URI.
22-
final String kind;
23+
final ResourceKind kind;
2324

2425
/// The length of the resource.
2526
final int length;
@@ -35,12 +36,13 @@ final class ReadResourceMetrics extends CustomMetrics {
3536

3637
@override
3738
Map<String, Object> toMap() => {
38-
'kind': 'runtimeErrors',
39-
'length': length,
40-
'elapsedMilliseconds': elapsedMilliseconds,
39+
_kind: kind.name,
40+
_length: length,
41+
_elapsedMilliseconds: elapsedMilliseconds,
4142
};
4243
}
4344

45+
/// The metrics for a tools/call MCP handler.
4446
final class CallToolMetrics extends CustomMetrics {
4547
/// The name of the tool that was invoked.
4648
final String tool;
@@ -59,8 +61,16 @@ final class CallToolMetrics extends CustomMetrics {
5961

6062
@override
6163
Map<String, Object> toMap() => {
62-
'tool': tool,
63-
'success': success,
64-
'elapsedMilliseconds': elapsedMilliseconds,
64+
_tool: tool,
65+
_success: success,
66+
_elapsedMilliseconds: elapsedMilliseconds,
6567
};
6668
}
69+
70+
enum ResourceKind { runtimeErrors }
71+
72+
const _elapsedMilliseconds = 'elapsedMilliseconds';
73+
const _kind = 'kind';
74+
const _length = 'length';
75+
const _success = 'success';
76+
const _tool = 'tool';

pkgs/dart_mcp_server/test/tools/dtd_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import 'package:async/async.dart';
1010
import 'package:dart_mcp/server.dart';
1111
import 'package:dart_mcp_server/src/mixins/dtd.dart';
1212
import 'package:dart_mcp_server/src/server.dart';
13+
import 'package:dart_mcp_server/src/utils/analytics.dart';
1314
import 'package:dart_mcp_server/src/utils/constants.dart';
1415
import 'package:test/test.dart';
1516
import 'package:unified_analytics/testing.dart';
@@ -505,7 +506,7 @@ void main() {
505506
'clientVersion': server.clientInfo.version,
506507
'serverVersion': server.implementation.version,
507508
'type': 'readResource',
508-
'kind': 'runtimeErrors',
509+
'kind': ResourceKind.runtimeErrors.name,
509510
'length': isA<int>(),
510511
'elapsedMilliseconds': isA<int>(),
511512
}),

0 commit comments

Comments
 (0)