| 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 |