// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_APP_APPLICATION_DELEGATE_METRIC_KIT_SUBSCRIBER_H_
#define IOS_CHROME_APP_APPLICATION_DELEGATE_METRIC_KIT_SUBSCRIBER_H_
#import <Foundation/Foundation.h>
#import <MetricKit/MetricKit.h>
// A subscriber that save MetricKit reports to the application document
// directory.
@interface MetricKitSubscriber : NSObject <MXMetricManagerSubscriber>
+ (instancetype)sharedInstance;
// Creates an extended launch task used by MetricKit to track startup time up
// until a client-defined stopping point. This must be called before the first
// scene becomes active.
+ (void)createExtendedLaunchTask;
// Ends the extended launch task created in `createExtendedLaunchTask`.
+ (void)endExtendedLaunchTask;
// Whether the MetricKit collection is enabled.
@property(nonatomic, assign, getter=isEnabled) BOOL enabled;
@end
#endif // IOS_CHROME_APP_APPLICATION_DELEGATE_METRIC_KIT_SUBSCRIBER_H_