Index: mojo/services/test_service/test_request_tracker.mojom |
diff --git a/mojo/services/test_service/test_request_tracker.mojom b/mojo/services/test_service/test_request_tracker.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..91f8a2d444b72719b9dfdb5cb912850cafca277e |
--- /dev/null |
+++ b/mojo/services/test_service/test_request_tracker.mojom |
@@ -0,0 +1,34 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+module mojo.test; |
+ |
+// Various counters that services can periodically send to a |
+// TestTrackedRequestService for recording. |
+struct ServiceStats { |
+ uint64 num_new_requests; |
+ double health; |
+}; |
+ |
+// A per-service summary of all the ServiceStats the |
+// TestTrackedRequestService has observed. |
+struct ServiceReport { |
+ string? service_name; |
+ uint64 total_requests; |
+ double mean_health; |
+}; |
+ |
+// A simple interface to obtain a "report" from all services that have |
+// opted to connect themselves to for request tracking. |
+interface TestTrackedRequestService { |
+ GetReport() => (array<ServiceReport?>? report); |
+}; |
+ |
+// TestRequestTracker records ServiceStats for an individual service |
+// connection for aggregation in a TestTrackedRequestService. |
+interface TestRequestTracker { |
+ SetNameAndReturnId(string service_name) => (uint64 id); |
+ // Upload a ServiceStats for tracking. |
+ RecordStats(uint64 client_id, ServiceStats? stats); |
+}; |