blob: 37fe7204c03106e0c9dc2a03feab3c829cfcaabd [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.cobalt;
/////////////////////////////////////////////////////////////////////
// AggregateAndUpload Interface
/////////////////////////////////////////////////////////////////////
/// Locally aggregates all collected metrics and uploads generated
/// observations immediately. This is only to be used for Recovery, and
/// should only be called once per Recovery attempt.
///
/// If AggregateAndUpload completes, then the collected metrics were uploaded
/// to Cobalt successfully. Otherwise, AggregateAndUpload may continue to run
/// until the calling service cancels the process when long running operation
/// exceeds the specified timeout. The reason this may occur, is that
/// AggregateAndUpload has a retry policy, and will retry any failures until
/// the operation succeeds or is cancelled due to exceeding a specified
/// timeout.
@discoverable
closed protocol AggregateAndUpload {
strict AggregateAndUploadMetricEvents() -> ();
};