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.
7 // Various counters that services can periodically send to a
8 // TestTrackedRequestService for recording.
10 uint64 num_new_requests;
14 // A per-service summary of all the ServiceStats the
15 // TestTrackedRequestService has observed.
16 struct ServiceReport {
18 uint64 total_requests;
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);