AutorÃa | Ultima modificación | Ver Log |
// Copyright 2020 Google LLC//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINFOUNDATION_EXTERN NSInteger const kGaugeDataBatchSize;/** List of gauges the gauge manager controls. */typedef NS_OPTIONS(NSUInteger, FPRGauges) {FPRGaugeNone = 0,FPRGaugeCPU = (1 << 0),FPRGaugeMemory = (1 << 1),};/** This class controls different gauge collection in the system. List of the gauges this classmanages are listed above. */NS_EXTENSION_UNAVAILABLE("Firebase Performance is not supported for extensions.")@interface FPRGaugeManager : NSObject/** @brief List of gauges that are currently being actively captured. */@property(nonatomic, readonly) FPRGauges activeGauges;/*** Creates an instance of GaugeManager.** @return Instance of GaugeManager.*/+ (instancetype)sharedInstance;/*** Initializer for the gauge manager. This is not available.*/- (instancetype)init NS_UNAVAILABLE;/*** Starts collecting gauge metrics for the specified set of gauges. Calling this will dispatch all* the currently existing gauge data and will start collecting the new data with the new sessionId.** @param gauges Gauges that needs to be collected.* @param sessionId SessionId for which the gauges are collected.*/- (void)startCollectingGauges:(FPRGauges)gauges forSessionId:(NSString *)sessionId;/*** Stops collecting gauge metrics for the specified set of gauges. Calling this will dispatch all* the existing gauge data.** @param gauges Gauges that needs to be stopped collecting.*/- (void)stopCollectingGauges:(FPRGauges)gauges;/*** Collects all the gauges.*/- (void)collectAllGauges;/*** Takes a gauge metric and tries to dispatch the gauge metric.** @param gaugeMetric Gauge metric that needs to be dispatched.*/- (void)dispatchMetric:(id)gaugeMetric;@endNS_ASSUME_NONNULL_END