OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 module mojo.test { | |
6 | |
7 // Various counters that services can periodically send to a | |
8 // TestTrackedRequestService for recording. | |
9 struct ServiceStats { | |
10 uint64 num_new_requests; | |
11 double health; | |
12 }; | |
13 | |
14 // A per-service summary of all the ServiceStats the | |
15 // TestTrackedRequestService has observed. | |
16 struct ServiceReport { | |
17 string? service_name; | |
18 uint64 total_requests; | |
19 double mean_health; | |
20 }; | |
21 | |
22 // A simple interface to obtain a "report" from all services that have | |
23 // opted to connect themselves to for request tracking. | |
24 interface TestTrackedRequestService { | |
25 GetReport() => (array<ServiceReport?>? report); | |
26 }; | |
27 | |
28 // TestRequestTracker records ServiceStats for an individual service | |
29 // connection for aggregation in a TestTrackedRequestService. | |
30 [Client=TestRequestTrackerClient] | |
31 interface TestRequestTracker { | |
32 // Upload a ServiceStats for tracking. | |
33 RecordStats(uint64 client_id, ServiceStats? stats); | |
34 }; | |
35 | |
36 // The client-side contract for uploading ServiceStats to TestRequestTracker. | |
37 interface TestRequestTrackerClient { | |
38 const uint64 kInvalidId = 0; | |
39 // Handshake to tell the client its global identifier and get the name. | |
40 SetIdAndReturnName(uint64 id) => (string? service_name); | |
41 }; | |
42 | |
43 } // module mojo.test | |
OLD | NEW |