cr: Add 'gn' command
[chromium-blink-merge.git] / mojo / services / test_service / test_request_tracker.mojom
blob91f8a2d444b72719b9dfdb5cb912850cafca277e
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.
5 module mojo.test;
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;
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;
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);
28 // TestRequestTracker records ServiceStats for an individual service
29 // connection for aggregation in a TestTrackedRequestService.
30 interface TestRequestTracker {
31   SetNameAndReturnId(string service_name) => (uint64 id);
32   // Upload a ServiceStats for tracking.
33   RecordStats(uint64 client_id, ServiceStats? stats);