mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-09 22:36:01 +05:45
1109 lines
42 KiB
Objective-C
1109 lines
42 KiB
Objective-C
// 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.
|
|
|
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
// source: perf_metric.proto
|
|
|
|
// This CPP symbol can be defined to use imports that match up to the framework
|
|
// imports needed when using CocoaPods.
|
|
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
|
|
#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
|
|
#endif
|
|
|
|
#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
|
|
#import <Protobuf/GPBProtocolBuffers.h>
|
|
#else
|
|
#import "GPBProtocolBuffers.h"
|
|
#endif
|
|
|
|
#if GOOGLE_PROTOBUF_OBJC_VERSION < 30004
|
|
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
|
|
#endif
|
|
#if 30004 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
|
|
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
|
|
#endif
|
|
|
|
// @@protoc_insertion_point(imports)
|
|
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
|
|
CF_EXTERN_C_BEGIN
|
|
|
|
@class FPRMSGAndroidApplicationInfo;
|
|
@class FPRMSGAndroidMemoryReading;
|
|
@class FPRMSGApplicationInfo;
|
|
@class FPRMSGCpuMetricReading;
|
|
@class FPRMSGGaugeMetadata;
|
|
@class FPRMSGGaugeMetric;
|
|
@class FPRMSGIosApplicationInfo;
|
|
@class FPRMSGIosMemoryReading;
|
|
@class FPRMSGNetworkConnectionInfo;
|
|
@class FPRMSGNetworkRequestMetric;
|
|
@class FPRMSGPerfSession;
|
|
@class FPRMSGTraceMetric;
|
|
@class FPRMSGTransportInfo;
|
|
@class FPRMSGWebApplicationInfo;
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
#pragma mark - Enum FPRMSGApplicationProcessState
|
|
|
|
/** Metadata about the state of application process during metrics collection. */
|
|
typedef GPB_ENUM(FPRMSGApplicationProcessState) {
|
|
/** Unspecified application process state. */
|
|
FPRMSGApplicationProcessState_ApplicationProcessStateUnknown = 0,
|
|
|
|
/** Application process was in foreground */
|
|
FPRMSGApplicationProcessState_Foreground = 1,
|
|
|
|
/** Application process was in background */
|
|
FPRMSGApplicationProcessState_Background = 2,
|
|
|
|
/**
|
|
* Application process was both in foreground and background for the duration
|
|
* of metrics collection.
|
|
**/
|
|
FPRMSGApplicationProcessState_ForegroundBackground = 3,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGApplicationProcessState_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGApplicationProcessState_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGSessionVerbosity
|
|
|
|
/**
|
|
* The level of detailed information that is captured in a Perf Session, known
|
|
* as a session's verbosity. For different session we collect different levels
|
|
* of detailed information (or none at all) to avoid penalizing the same device
|
|
* constantly.
|
|
**/
|
|
typedef GPB_ENUM(FPRMSGSessionVerbosity) {
|
|
/** Session doesn't have detailed information. */
|
|
FPRMSGSessionVerbosity_SessionVerbosityNone = 0,
|
|
|
|
/**
|
|
* Session has gauges and system events information.
|
|
**/
|
|
FPRMSGSessionVerbosity_GaugesAndSystemEvents = 1,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGSessionVerbosity_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGSessionVerbosity_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGVisibilityState
|
|
|
|
/** Visibility state for a web page. */
|
|
typedef GPB_ENUM(FPRMSGVisibilityState) {
|
|
/** Unspecified visibility state. */
|
|
FPRMSGVisibilityState_VisibilityStateUnknown = 0,
|
|
|
|
/**
|
|
* The page is at least partially visible. In practice this means the page
|
|
* is in the foreground tab of a non-minimized window.
|
|
**/
|
|
FPRMSGVisibilityState_Visible = 1,
|
|
|
|
/** The page's content is not visible to the user. */
|
|
FPRMSGVisibilityState_Hidden = 2,
|
|
|
|
/** The page's content is being prerendered and is not visible to the user. */
|
|
FPRMSGVisibilityState_Prerender = 3,
|
|
|
|
/** The page is in the process of being unloaded from memory. */
|
|
FPRMSGVisibilityState_Unloaded = 4,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGVisibilityState_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGVisibilityState_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGServiceWorkerStatus
|
|
|
|
/** Service worker status for a web page. */
|
|
typedef GPB_ENUM(FPRMSGServiceWorkerStatus) {
|
|
/** Unspecified service worker status. */
|
|
FPRMSGServiceWorkerStatus_ServiceWorkerStatusUnknown = 0,
|
|
|
|
/** Service worker not supported by the browser. */
|
|
FPRMSGServiceWorkerStatus_Unsupported = 1,
|
|
|
|
/** Service worker controlled page. */
|
|
FPRMSGServiceWorkerStatus_Controlled = 2,
|
|
|
|
/** Page not controlled by a service worker. */
|
|
FPRMSGServiceWorkerStatus_Uncontrolled = 3,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGServiceWorkerStatus_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGServiceWorkerStatus_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGEffectiveConnectionType
|
|
|
|
/**
|
|
* Effective connection type for a web application, defined from
|
|
* https://wicg.github.io/netinfo/#effective-connection-types
|
|
**/
|
|
typedef GPB_ENUM(FPRMSGEffectiveConnectionType) {
|
|
FPRMSGEffectiveConnectionType_EffectiveConnectionTypeUnknown = 0,
|
|
|
|
/** Maximum downlink speed 50kbs */
|
|
FPRMSGEffectiveConnectionType_EffectiveConnectionTypeSlow2G = 1,
|
|
|
|
/** Maximum downlink speed 70kbs */
|
|
FPRMSGEffectiveConnectionType_EffectiveConnectionType2G = 2,
|
|
|
|
/** Maximum downlink speed 700kbs */
|
|
FPRMSGEffectiveConnectionType_EffectiveConnectionType3G = 3,
|
|
|
|
/** Maximum downlink speed Infinity */
|
|
FPRMSGEffectiveConnectionType_EffectiveConnectionType4G = 4,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGEffectiveConnectionType_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGEffectiveConnectionType_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGNetworkRequestMetric_HttpMethod
|
|
|
|
/**
|
|
* Supported HTTP methods for aggregating network requests. All network
|
|
* requests that can not be classified into the 9 methods below should be set
|
|
* to HTTP_METHOD_UNKNOWN.
|
|
**/
|
|
typedef GPB_ENUM(FPRMSGNetworkRequestMetric_HttpMethod) {
|
|
FPRMSGNetworkRequestMetric_HttpMethod_HTTPMethodUnknown = 0,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Get = 1,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Put = 2,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Post = 3,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Delete = 4,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Head = 5,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Patch = 6,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Options = 7,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Trace = 8,
|
|
FPRMSGNetworkRequestMetric_HttpMethod_Connect = 9,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGNetworkRequestMetric_HttpMethod_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGNetworkRequestMetric_HttpMethod_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGNetworkRequestMetric_NetworkClientErrorReason
|
|
|
|
/** Info about the type of client error during network call. */
|
|
typedef GPB_ENUM(FPRMSGNetworkRequestMetric_NetworkClientErrorReason) {
|
|
/** Unspecified Network Client Error Reason. */
|
|
FPRMSGNetworkRequestMetric_NetworkClientErrorReason_NetworkClientErrorReasonUnknown = 0,
|
|
|
|
/** No attempt made to classify the error. */
|
|
FPRMSGNetworkRequestMetric_NetworkClientErrorReason_GenericClientError = 1,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGNetworkRequestMetric_NetworkClientErrorReason_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGNetworkRequestMetric_NetworkClientErrorReason_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGNetworkConnectionInfo_NetworkType
|
|
|
|
typedef GPB_ENUM(FPRMSGNetworkConnectionInfo_NetworkType) {
|
|
FPRMSGNetworkConnectionInfo_NetworkType_None = -1,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Mobile = 0,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Wifi = 1,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileMms = 2,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileSupl = 3,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileDun = 4,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileHipri = 5,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Wimax = 6,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Bluetooth = 7,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Dummy = 8,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Ethernet = 9,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileFota = 10,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileIms = 11,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileCbs = 12,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_WifiP2P = 13,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileIa = 14,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_MobileEmergency = 15,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Proxy = 16,
|
|
FPRMSGNetworkConnectionInfo_NetworkType_Vpn = 17,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGNetworkConnectionInfo_NetworkType_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGNetworkConnectionInfo_NetworkType_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGNetworkConnectionInfo_MobileSubtype
|
|
|
|
typedef GPB_ENUM(FPRMSGNetworkConnectionInfo_MobileSubtype) {
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_UnknownMobileSubtype = 0,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Gprs = 1,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Edge = 2,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Umts = 3,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Cdma = 4,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Evdo0 = 5,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_EvdoA = 6,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Rtt = 7,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Hsdpa = 8,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Hsupa = 9,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Hspa = 10,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Iden = 11,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_EvdoB = 12,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Lte = 13,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Ehrpd = 14,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Hspap = 15,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Gsm = 16,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_TdScdma = 17,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Iwlan = 18,
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_LteCa = 19,
|
|
|
|
/**
|
|
* COMBINED has value -1 in NetworkIdentity.java, but is given the value
|
|
* 100 here to save (disk) space. The value -1 takes up the full 10 bytes in
|
|
* a varint for enums, but the value 100 only takes up 1 byte.
|
|
**/
|
|
FPRMSGNetworkConnectionInfo_MobileSubtype_Combined = 100,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGNetworkConnectionInfo_MobileSubtype_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGNetworkConnectionInfo_MobileSubtype_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - Enum FPRMSGTransportInfo_DispatchDestination
|
|
|
|
/** Dispatch destination for the event. */
|
|
typedef GPB_ENUM(FPRMSGTransportInfo_DispatchDestination) {
|
|
/** Reserved */
|
|
FPRMSGTransportInfo_DispatchDestination_SourceUnknown = 0,
|
|
|
|
/** Firelog legacy endpoint */
|
|
FPRMSGTransportInfo_DispatchDestination_FlLegacyV1 = 1,
|
|
};
|
|
|
|
GPBEnumDescriptor *FPRMSGTransportInfo_DispatchDestination_EnumDescriptor(void);
|
|
|
|
/**
|
|
* Checks to see if the given value is defined by the enum or was not known at
|
|
* the time this source was generated.
|
|
**/
|
|
BOOL FPRMSGTransportInfo_DispatchDestination_IsValidValue(int32_t value);
|
|
|
|
#pragma mark - FPRMSGPerfMetricRoot
|
|
|
|
/**
|
|
* Exposes the extension registry for this file.
|
|
*
|
|
* The base class provides:
|
|
* @code
|
|
* + (GPBExtensionRegistry *)extensionRegistry;
|
|
* @endcode
|
|
* which is a @c GPBExtensionRegistry that includes all the extensions defined by
|
|
* this file and all files that it depends on.
|
|
**/
|
|
GPB_FINAL @interface FPRMSGPerfMetricRoot : GPBRootObject
|
|
@end
|
|
|
|
#pragma mark - FPRMSGPerfMetric
|
|
|
|
typedef GPB_ENUM(FPRMSGPerfMetric_FieldNumber) {
|
|
FPRMSGPerfMetric_FieldNumber_ApplicationInfo = 1,
|
|
FPRMSGPerfMetric_FieldNumber_TraceMetric = 2,
|
|
FPRMSGPerfMetric_FieldNumber_NetworkRequestMetric = 3,
|
|
FPRMSGPerfMetric_FieldNumber_GaugeMetric = 4,
|
|
FPRMSGPerfMetric_FieldNumber_TransportInfo = 5,
|
|
};
|
|
|
|
/**
|
|
* Single unit of performance data collected from firebase integrated 3P apps by
|
|
* the firebase performance sdk. This will be an an extension to
|
|
* GWSLogEntryProto and will correspond to one record in the RecordIO logs
|
|
* generated by clearcut. Every firebase performance related event logged to
|
|
* clearcut/Firelog by the sdk will encapsulate one instance of this object.
|
|
*
|
|
* Next tag: 6
|
|
**/
|
|
GPB_FINAL @interface FPRMSGPerfMetric : GPBMessage
|
|
|
|
/**
|
|
* Additional metadata about an application and its state (including state of
|
|
* the device at runtime) that is not provided by clearcut.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGApplicationInfo *applicationInfo;
|
|
/** Test to see if @c applicationInfo has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasApplicationInfo;
|
|
|
|
/**
|
|
* A metric which represents the performance statistics collected within an
|
|
* instrumented trace.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGTraceMetric *traceMetric;
|
|
/** Test to see if @c traceMetric has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasTraceMetric;
|
|
|
|
/**
|
|
* A metric which represents the network latency, bandwidth and network
|
|
* connection info about a network request captured by the firebase sdk.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGNetworkRequestMetric *networkRequestMetric;
|
|
/** Test to see if @c networkRequestMetric has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasNetworkRequestMetric;
|
|
|
|
/**
|
|
* A metric which represents session gauges, such as cpu, memory, battery,
|
|
* within a session.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGGaugeMetric *gaugeMetric;
|
|
/** Test to see if @c gaugeMetric has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasGaugeMetric;
|
|
|
|
/**
|
|
* A metric which represents the transport related information.
|
|
* When transport_info field is empty, it means the message is from clearcut.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGTransportInfo *transportInfo;
|
|
/** Test to see if @c transportInfo has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasTransportInfo;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGTraceMetric
|
|
|
|
typedef GPB_ENUM(FPRMSGTraceMetric_FieldNumber) {
|
|
FPRMSGTraceMetric_FieldNumber_Name = 1,
|
|
FPRMSGTraceMetric_FieldNumber_IsAuto = 2,
|
|
FPRMSGTraceMetric_FieldNumber_ClientStartTimeUs = 4,
|
|
FPRMSGTraceMetric_FieldNumber_DurationUs = 5,
|
|
FPRMSGTraceMetric_FieldNumber_Counters = 6,
|
|
FPRMSGTraceMetric_FieldNumber_SubtracesArray = 7,
|
|
FPRMSGTraceMetric_FieldNumber_CustomAttributes = 8,
|
|
FPRMSGTraceMetric_FieldNumber_PerfSessionsArray = 9,
|
|
};
|
|
|
|
/**
|
|
* Metric which represents everything collected in the span of a trace. A trace
|
|
* may be further divided into subtraces.
|
|
* The trace can either be a default out of the box trace which is a
|
|
* part of the default instrumentation provided by the firebase performance sdk
|
|
* or a custom trace instrumented by the app developer using the sdk apis.
|
|
*
|
|
* Next tag: 10
|
|
**/
|
|
GPB_FINAL @interface FPRMSGTraceMetric : GPBMessage
|
|
|
|
/**
|
|
* The name of the trace. This could either be a user defined name for the
|
|
* developer instrumented custom traces or a default for traces automatically
|
|
* instrumented by the Firebase Performance SDK. The max length of 64
|
|
* characters will be enforced by the sdk.
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *name;
|
|
/** Test to see if @c name has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasName;
|
|
|
|
/**
|
|
* If true, then this is considered to be a trace automatically instrumented
|
|
* by the performance sdk. Otherwise, it is considered to be a custom trace
|
|
* instrumented by the developer using firebase perf sdk apis.
|
|
**/
|
|
@property(nonatomic, readwrite) BOOL isAuto;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasIsAuto;
|
|
/**
|
|
* The timestamp in microseconds since epoch when the trace was started. This
|
|
* time is recorded using the device clock.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t clientStartTimeUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasClientStartTimeUs;
|
|
/** The duration of the trace in microseconds. */
|
|
@property(nonatomic, readwrite) int64_t durationUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasDurationUs;
|
|
/** A map of custom or default counter names to values. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) GPBStringInt64Dictionary *counters;
|
|
/** The number of items in @c counters without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger counters_Count;
|
|
|
|
/**
|
|
* The following restrictions are currently enforced by the sdk on subtraces:
|
|
* Subtraces should only have 1 level of nesting.
|
|
* Subtraces should be non overlapping.
|
|
* Subtraces should be continuous, i.e no gaps between consecutive subtraces.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<FPRMSGTraceMetric*> *subtracesArray;
|
|
/** The number of items in @c subtracesArray without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger subtracesArray_Count;
|
|
|
|
/** A map of trace-level custom attribute names to values. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableDictionary<NSString*, NSString*> *customAttributes;
|
|
/** The number of items in @c customAttributes without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger customAttributes_Count;
|
|
|
|
/**
|
|
* Sessions across which the trace spanned. A session lasts from one
|
|
* change in the app state (foreground/background) to the next. Basically
|
|
* every foreground and background session gets it's own session id. A trace
|
|
* may span across multiple such sessions. So we need a list to identify which
|
|
* sessions it spanned across.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<FPRMSGPerfSession*> *perfSessionsArray;
|
|
/** The number of items in @c perfSessionsArray without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger perfSessionsArray_Count;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGNetworkRequestMetric
|
|
|
|
typedef GPB_ENUM(FPRMSGNetworkRequestMetric_FieldNumber) {
|
|
FPRMSGNetworkRequestMetric_FieldNumber_URL = 1,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_HTTPMethod = 2,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_RequestPayloadBytes = 3,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_ResponsePayloadBytes = 4,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_HTTPResponseCode = 5,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_ResponseContentType = 6,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_ClientStartTimeUs = 7,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_TimeToRequestCompletedUs = 8,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_TimeToResponseInitiatedUs = 9,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_TimeToResponseCompletedUs = 10,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_NetworkClientErrorReason = 11,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_CustomAttributes = 12,
|
|
FPRMSGNetworkRequestMetric_FieldNumber_PerfSessionsArray = 13,
|
|
};
|
|
|
|
/**
|
|
* Metric which represents the latency, bandwidth consumption and other details
|
|
* about a network request captured by the firebase sdk.
|
|
*
|
|
* Next tag: 14
|
|
**/
|
|
GPB_FINAL @interface FPRMSGNetworkRequestMetric : GPBMessage
|
|
|
|
/**
|
|
* The parameterless url to which the network request was made. The sdk will
|
|
* redact the unnecessary components of the URL and only log the components
|
|
* which are useful. For a url of the form
|
|
* scheme://host[:port]/path[?params][#fragment], the sdk should only log
|
|
* scheme://host[:port]/path
|
|
* Example:
|
|
* Captured Url: https://wwww.google.com/maps/cities#seattle?id=123
|
|
* Logged Url: https://wwww.google.com/maps/cities
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *URL;
|
|
/** Test to see if @c URL has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasURL;
|
|
|
|
/**
|
|
* The HTTP verb for the network request. Common values include GET,
|
|
* PUT, POST and DELETE
|
|
**/
|
|
@property(nonatomic, readwrite) FPRMSGNetworkRequestMetric_HttpMethod HTTPMethod;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasHTTPMethod;
|
|
/** The size of the payload in the request. */
|
|
@property(nonatomic, readwrite) int64_t requestPayloadBytes;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasRequestPayloadBytes;
|
|
/** The size of the payload in the response. */
|
|
@property(nonatomic, readwrite) int64_t responsePayloadBytes;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasResponsePayloadBytes;
|
|
/**
|
|
* The client error received from the networking library.
|
|
* Do not record a client error if we have HTTP response code available.
|
|
**/
|
|
@property(nonatomic, readwrite) FPRMSGNetworkRequestMetric_NetworkClientErrorReason networkClientErrorReason;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasNetworkClientErrorReason;
|
|
/** The Http response code received from the server. */
|
|
@property(nonatomic, readwrite) int32_t HTTPResponseCode;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasHTTPResponseCode;
|
|
/** The value of the content type header in the response. */
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *responseContentType;
|
|
/** Test to see if @c responseContentType has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasResponseContentType;
|
|
|
|
/**
|
|
* The timestamp in microseconds since epoch when the network request was
|
|
* initiated. This time is recorded using the device clock.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t clientStartTimeUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasClientStartTimeUs;
|
|
/**
|
|
* The time in microseconds since the start of the network request and the
|
|
* upload of the last request byte.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t timeToRequestCompletedUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasTimeToRequestCompletedUs;
|
|
/**
|
|
* The time in microseconds between the start of the network request and the
|
|
* receipt of the first byte of the response headers.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t timeToResponseInitiatedUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasTimeToResponseInitiatedUs;
|
|
/**
|
|
* The time in microseconds between the start of the network request and the
|
|
* receipt of the last response byte.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t timeToResponseCompletedUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasTimeToResponseCompletedUs;
|
|
/** A map of network-level custom attribute names to values. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableDictionary<NSString*, NSString*> *customAttributes;
|
|
/** The number of items in @c customAttributes without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger customAttributes_Count;
|
|
|
|
/**
|
|
* Sessions across which the network request spanned. A session lasts
|
|
* from one change in the app state (foreground/background) to the next.
|
|
* Basically every foreground and background session gets it's own session id.
|
|
* A network request may span across multiple such sessions. So we need a list
|
|
* to identify which sessions it spanned across.
|
|
**/
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<FPRMSGPerfSession*> *perfSessionsArray;
|
|
/** The number of items in @c perfSessionsArray without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger perfSessionsArray_Count;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGPerfSession
|
|
|
|
typedef GPB_ENUM(FPRMSGPerfSession_FieldNumber) {
|
|
FPRMSGPerfSession_FieldNumber_SessionId = 1,
|
|
FPRMSGPerfSession_FieldNumber_SessionVerbosityArray = 2,
|
|
};
|
|
|
|
/**
|
|
* Metadata about a session and the amount of detail information it contains.
|
|
**/
|
|
GPB_FINAL @interface FPRMSGPerfSession : GPBMessage
|
|
|
|
/** The id of a session. */
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *sessionId;
|
|
/** Test to see if @c sessionId has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasSessionId;
|
|
|
|
/** The level of amount of detailed information that this session captures. */
|
|
// |sessionVerbosityArray| contains |FPRMSGSessionVerbosity|
|
|
@property(nonatomic, readwrite, strong, null_resettable) GPBEnumArray *sessionVerbosityArray;
|
|
/** The number of items in @c sessionVerbosityArray without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger sessionVerbosityArray_Count;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGGaugeMetric
|
|
|
|
typedef GPB_ENUM(FPRMSGGaugeMetric_FieldNumber) {
|
|
FPRMSGGaugeMetric_FieldNumber_SessionId = 1,
|
|
FPRMSGGaugeMetric_FieldNumber_CpuMetricReadingsArray = 2,
|
|
FPRMSGGaugeMetric_FieldNumber_GaugeMetadata = 3,
|
|
FPRMSGGaugeMetric_FieldNumber_AndroidMemoryReadingsArray = 4,
|
|
FPRMSGGaugeMetric_FieldNumber_IosMemoryReadingsArray = 5,
|
|
};
|
|
|
|
/**
|
|
* Metric which represents gauges collected during the span of a session,
|
|
* including cpu, memory, battery, etc.
|
|
* The gauges will be collected by our own sdk and be purely numeric readings,
|
|
* user cannot pass any information here, so cannot contain PIIs.
|
|
*
|
|
* Next tag: 6
|
|
**/
|
|
GPB_FINAL @interface FPRMSGGaugeMetric : GPBMessage
|
|
|
|
/**
|
|
* Identifier of the session in which this gauge reading takes place.
|
|
* A session_id is specific to a device instance, and is used to tie gauge
|
|
* metrics to other peer traces and network requests that occurs during
|
|
* the session.
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *sessionId;
|
|
/** Test to see if @c sessionId has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasSessionId;
|
|
|
|
/** Metadata of gauge metrics whose value stay constant throughout the session. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGGaugeMetadata *gaugeMetadata;
|
|
/** Test to see if @c gaugeMetadata has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasGaugeMetadata;
|
|
|
|
/** List of cpu gauge readings recorded in the session. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<FPRMSGCpuMetricReading*> *cpuMetricReadingsArray;
|
|
/** The number of items in @c cpuMetricReadingsArray without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger cpuMetricReadingsArray_Count;
|
|
|
|
/** List of Android memory readings recorded, absent for iOS apps. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<FPRMSGAndroidMemoryReading*> *androidMemoryReadingsArray;
|
|
/** The number of items in @c androidMemoryReadingsArray without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger androidMemoryReadingsArray_Count;
|
|
|
|
/** List of iOS memory readings recorded, absent for Android apps. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<FPRMSGIosMemoryReading*> *iosMemoryReadingsArray;
|
|
/** The number of items in @c iosMemoryReadingsArray without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger iosMemoryReadingsArray_Count;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGCpuMetricReading
|
|
|
|
typedef GPB_ENUM(FPRMSGCpuMetricReading_FieldNumber) {
|
|
FPRMSGCpuMetricReading_FieldNumber_ClientTimeUs = 1,
|
|
FPRMSGCpuMetricReading_FieldNumber_UserTimeUs = 2,
|
|
FPRMSGCpuMetricReading_FieldNumber_SystemTimeUs = 3,
|
|
};
|
|
|
|
/**
|
|
* One reading of cpu gauge metric.
|
|
*
|
|
* Next tag: 4
|
|
**/
|
|
GPB_FINAL @interface FPRMSGCpuMetricReading : GPBMessage
|
|
|
|
/**
|
|
* The timestamp in microseconds since epoch when this snapshot took place.
|
|
* This time is recorded using the device clock.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t clientTimeUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasClientTimeUs;
|
|
/** The total user cpu time since process started in microseconds. */
|
|
@property(nonatomic, readwrite) int64_t userTimeUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasUserTimeUs;
|
|
/** The total system cpu time since process started in microseconds. */
|
|
@property(nonatomic, readwrite) int64_t systemTimeUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasSystemTimeUs;
|
|
@end
|
|
|
|
#pragma mark - FPRMSGIosMemoryReading
|
|
|
|
typedef GPB_ENUM(FPRMSGIosMemoryReading_FieldNumber) {
|
|
FPRMSGIosMemoryReading_FieldNumber_ClientTimeUs = 1,
|
|
FPRMSGIosMemoryReading_FieldNumber_UsedAppHeapMemoryKb = 2,
|
|
FPRMSGIosMemoryReading_FieldNumber_FreeAppHeapMemoryKb = 3,
|
|
};
|
|
|
|
/**
|
|
* One reading of iOS memory gauge metric.
|
|
*
|
|
* Next tag: 4
|
|
**/
|
|
GPB_FINAL @interface FPRMSGIosMemoryReading : GPBMessage
|
|
|
|
/**
|
|
* The timestamp in microseconds since epoch when this snapshot took place.
|
|
* This time is recorded using the device clock.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t clientTimeUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasClientTimeUs;
|
|
/** The amount of heap memory that the app is using, in kilobytes. */
|
|
@property(nonatomic, readwrite) int32_t usedAppHeapMemoryKb;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasUsedAppHeapMemoryKb;
|
|
/** The amount of heap memory that is free for the app to use, in kilobytes. */
|
|
@property(nonatomic, readwrite) int32_t freeAppHeapMemoryKb;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasFreeAppHeapMemoryKb;
|
|
@end
|
|
|
|
#pragma mark - FPRMSGAndroidMemoryReading
|
|
|
|
typedef GPB_ENUM(FPRMSGAndroidMemoryReading_FieldNumber) {
|
|
FPRMSGAndroidMemoryReading_FieldNumber_ClientTimeUs = 1,
|
|
FPRMSGAndroidMemoryReading_FieldNumber_UsedAppJavaHeapMemoryKb = 2,
|
|
};
|
|
|
|
/**
|
|
* One reading of Android memory gauge metric.
|
|
* Note that this is cheap-to-capture memory reading, which is different from
|
|
* application's summary of memory usage (expensive to capture). Summary of
|
|
* memory usage will be captured at a much lower frequency in a different proto.
|
|
*
|
|
* Next tag: 3
|
|
**/
|
|
GPB_FINAL @interface FPRMSGAndroidMemoryReading : GPBMessage
|
|
|
|
/**
|
|
* The timestamp in microseconds since epoch when this snapshot took place.
|
|
* This time is recorded using the device clock.
|
|
**/
|
|
@property(nonatomic, readwrite) int64_t clientTimeUs;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasClientTimeUs;
|
|
/** The amount of java heap memory that the app is using, in kilobytes. */
|
|
@property(nonatomic, readwrite) int32_t usedAppJavaHeapMemoryKb;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasUsedAppJavaHeapMemoryKb;
|
|
@end
|
|
|
|
#pragma mark - FPRMSGGaugeMetadata
|
|
|
|
typedef GPB_ENUM(FPRMSGGaugeMetadata_FieldNumber) {
|
|
FPRMSGGaugeMetadata_FieldNumber_ProcessName = 1,
|
|
FPRMSGGaugeMetadata_FieldNumber_CpuClockRateKhz = 2,
|
|
FPRMSGGaugeMetadata_FieldNumber_DeviceRamSizeKb = 3,
|
|
FPRMSGGaugeMetadata_FieldNumber_MaxAppJavaHeapMemoryKb = 4,
|
|
FPRMSGGaugeMetadata_FieldNumber_MaxEncouragedAppJavaHeapMemoryKb = 5,
|
|
FPRMSGGaugeMetadata_FieldNumber_CpuProcessorCount = 6,
|
|
};
|
|
|
|
/**
|
|
* Metadata about gauges of a session.
|
|
* These are the gauge values that stay constant throughout the entire session.
|
|
* Examples include maxAppJavaHeapMemory (max memory allowed for the app) and
|
|
* cpuFrequency (frequency of cpu of the device that the app is running on).
|
|
* As long as one GaugeMetadata is sent for a session, these metadata will be
|
|
* available for all elements of the session. If multiple GaugeMetadata are sent
|
|
* for the same session, they are expected to be identical.
|
|
*
|
|
* Next tag: 7
|
|
**/
|
|
GPB_FINAL @interface FPRMSGGaugeMetadata : GPBMessage
|
|
|
|
/**
|
|
* The process in which Firebase instance is initialized and collecting data.
|
|
* Fireperf sdk collects information in the context of a process (instead of
|
|
* the whole app). The process name helps developer identifies which process
|
|
* are the gauge data coming from.
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *processName;
|
|
/** Test to see if @c processName has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasProcessName;
|
|
|
|
/** Clock rate of the cpu of the device, in kHz. */
|
|
@property(nonatomic, readwrite) int32_t cpuClockRateKhz;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasCpuClockRateKhz;
|
|
/** The number of cpu cores that the device has. */
|
|
@property(nonatomic, readwrite) int32_t cpuProcessorCount;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasCpuProcessorCount;
|
|
/** Size of RAM of the device, in kilobytes. */
|
|
@property(nonatomic, readwrite) int32_t deviceRamSizeKb;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasDeviceRamSizeKb;
|
|
/**
|
|
* Maximum amount of memory the app can use before an OutOfMemoryException
|
|
* is triggered, in kilobytes.
|
|
* Only present for Android apps.
|
|
**/
|
|
@property(nonatomic, readwrite) int32_t maxAppJavaHeapMemoryKb;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasMaxAppJavaHeapMemoryKb;
|
|
/**
|
|
* The maximum amount of memory the app is encouraged to use to be properly
|
|
* respectful of the limits of the client device.
|
|
* Only present for Android apps.
|
|
**/
|
|
@property(nonatomic, readwrite) int32_t maxEncouragedAppJavaHeapMemoryKb;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasMaxEncouragedAppJavaHeapMemoryKb;
|
|
@end
|
|
|
|
#pragma mark - FPRMSGApplicationInfo
|
|
|
|
typedef GPB_ENUM(FPRMSGApplicationInfo_FieldNumber) {
|
|
FPRMSGApplicationInfo_FieldNumber_GoogleAppId = 1,
|
|
FPRMSGApplicationInfo_FieldNumber_AppInstanceId = 2,
|
|
FPRMSGApplicationInfo_FieldNumber_AndroidAppInfo = 3,
|
|
FPRMSGApplicationInfo_FieldNumber_IosAppInfo = 4,
|
|
FPRMSGApplicationInfo_FieldNumber_ApplicationProcessState = 5,
|
|
FPRMSGApplicationInfo_FieldNumber_CustomAttributes = 6,
|
|
FPRMSGApplicationInfo_FieldNumber_WebAppInfo = 7,
|
|
};
|
|
|
|
/**
|
|
* Additional metadata about an application and its state (including state of
|
|
* the device at runtime) that is not provided by clearcut.
|
|
*
|
|
* Next tag: 8
|
|
**/
|
|
GPB_FINAL @interface FPRMSGApplicationInfo : GPBMessage
|
|
|
|
/**
|
|
* Identifier for the application that has been registered with firebase.
|
|
* Contains pantheon project number, platform and the hash of the (package
|
|
* name or bundle id) fields in hex.
|
|
* [Version]:[Project Number]:[Platform]:[Hash(package_name/bundle_id)]
|
|
* The app id contains Pantheon project number which is a GAIA ID that
|
|
* identifies a particular organization or a customer.
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *googleAppId;
|
|
/** Test to see if @c googleAppId has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasGoogleAppId;
|
|
|
|
/**
|
|
* The App Instance Id which is used to compute the distinct users for which
|
|
* the metrics are recorded.
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *appInstanceId;
|
|
/** Test to see if @c appInstanceId has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasAppInstanceId;
|
|
|
|
/** Additional information specific to an android app. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGAndroidApplicationInfo *androidAppInfo;
|
|
/** Test to see if @c androidAppInfo has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasAndroidAppInfo;
|
|
|
|
/** Additional information specific to an ios app. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGIosApplicationInfo *iosAppInfo;
|
|
/** Test to see if @c iosAppInfo has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasIosAppInfo;
|
|
|
|
/** Additional information specific to a web app. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGWebApplicationInfo *webAppInfo;
|
|
/** Test to see if @c webAppInfo has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasWebAppInfo;
|
|
|
|
/** State of the application process during metric collection. */
|
|
@property(nonatomic, readwrite) FPRMSGApplicationProcessState applicationProcessState;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasApplicationProcessState;
|
|
/** A map of global-level custom attribute names to values. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) NSMutableDictionary<NSString*, NSString*> *customAttributes;
|
|
/** The number of items in @c customAttributes without causing the array to be created. */
|
|
@property(nonatomic, readonly) NSUInteger customAttributes_Count;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGWebApplicationInfo
|
|
|
|
typedef GPB_ENUM(FPRMSGWebApplicationInfo_FieldNumber) {
|
|
FPRMSGWebApplicationInfo_FieldNumber_SdkVersion = 1,
|
|
FPRMSGWebApplicationInfo_FieldNumber_PageURL = 2,
|
|
FPRMSGWebApplicationInfo_FieldNumber_ServiceWorkerStatus = 3,
|
|
FPRMSGWebApplicationInfo_FieldNumber_VisibilityState = 4,
|
|
FPRMSGWebApplicationInfo_FieldNumber_EffectiveConnectionType = 5,
|
|
};
|
|
|
|
/**
|
|
* Additional metadata about a web application that is not provided by
|
|
* clearcut.
|
|
*
|
|
* Next tag: 6
|
|
**/
|
|
GPB_FINAL @interface FPRMSGWebApplicationInfo : GPBMessage
|
|
|
|
/** The sdk version of the firebase perf web sdk. */
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *sdkVersion;
|
|
/** Test to see if @c sdkVersion has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasSdkVersion;
|
|
|
|
/** The url of the web page from which this event occurs. */
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *pageURL;
|
|
/** Test to see if @c pageURL has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasPageURL;
|
|
|
|
/** Service worker status of the web page. */
|
|
@property(nonatomic, readwrite) FPRMSGServiceWorkerStatus serviceWorkerStatus;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasServiceWorkerStatus;
|
|
/** Visibility state of the web page. */
|
|
@property(nonatomic, readwrite) FPRMSGVisibilityState visibilityState;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasVisibilityState;
|
|
/** Effective connection type of a web page. */
|
|
@property(nonatomic, readwrite) FPRMSGEffectiveConnectionType effectiveConnectionType;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasEffectiveConnectionType;
|
|
@end
|
|
|
|
#pragma mark - FPRMSGAndroidApplicationInfo
|
|
|
|
typedef GPB_ENUM(FPRMSGAndroidApplicationInfo_FieldNumber) {
|
|
FPRMSGAndroidApplicationInfo_FieldNumber_PackageName = 1,
|
|
FPRMSGAndroidApplicationInfo_FieldNumber_SdkVersion = 2,
|
|
FPRMSGAndroidApplicationInfo_FieldNumber_VersionName = 3,
|
|
};
|
|
|
|
/**
|
|
* Additional metadata about an android application that is not provided by
|
|
* clearcut.
|
|
*
|
|
* Next tag: 4
|
|
**/
|
|
GPB_FINAL @interface FPRMSGAndroidApplicationInfo : GPBMessage
|
|
|
|
/**
|
|
* The package name of the android application.
|
|
* e.g com.google.android.apps.maps
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *packageName;
|
|
/** Test to see if @c packageName has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasPackageName;
|
|
|
|
/** The sdk version of the firebase perf android sdk. */
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *sdkVersion;
|
|
/** Test to see if @c sdkVersion has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasSdkVersion;
|
|
|
|
/**
|
|
* The versionName of the android application as shown on the play store.
|
|
* Clearcut logs the versionCode in the GWSLogEntryProto field:
|
|
* PlayExtension.client_info.android_client_info.application_build
|
|
* This field is necessary till clearcut supports logging version_name by
|
|
* default: b/32584283
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *versionName;
|
|
/** Test to see if @c versionName has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasVersionName;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGNetworkConnectionInfo
|
|
|
|
typedef GPB_ENUM(FPRMSGNetworkConnectionInfo_FieldNumber) {
|
|
FPRMSGNetworkConnectionInfo_FieldNumber_NetworkType = 1,
|
|
FPRMSGNetworkConnectionInfo_FieldNumber_MobileSubtype = 2,
|
|
};
|
|
|
|
/**
|
|
* To describe the network connectivity of the client.
|
|
* Copied from android/play/playlog/proto/clientanalytics.proto
|
|
* Next tag: 3
|
|
**/
|
|
GPB_FINAL @interface FPRMSGNetworkConnectionInfo : GPBMessage
|
|
|
|
/**
|
|
* The current network connectivity type when the event was logged in the
|
|
* client
|
|
**/
|
|
@property(nonatomic, readwrite) FPRMSGNetworkConnectionInfo_NetworkType networkType;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasNetworkType;
|
|
/**
|
|
* The current mobile connectivity subtype when the event was logged in the
|
|
* client
|
|
**/
|
|
@property(nonatomic, readwrite) FPRMSGNetworkConnectionInfo_MobileSubtype mobileSubtype;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasMobileSubtype;
|
|
@end
|
|
|
|
#pragma mark - FPRMSGIosApplicationInfo
|
|
|
|
typedef GPB_ENUM(FPRMSGIosApplicationInfo_FieldNumber) {
|
|
FPRMSGIosApplicationInfo_FieldNumber_SdkVersion = 2,
|
|
FPRMSGIosApplicationInfo_FieldNumber_BundleShortVersion = 3,
|
|
FPRMSGIosApplicationInfo_FieldNumber_MccMnc = 4,
|
|
FPRMSGIosApplicationInfo_FieldNumber_NetworkConnectionInfo = 5,
|
|
};
|
|
|
|
/**
|
|
* Additional metadata about an ios application that is not provided by
|
|
* clearcut.
|
|
*
|
|
* Next tag: 6
|
|
**/
|
|
GPB_FINAL @interface FPRMSGIosApplicationInfo : GPBMessage
|
|
|
|
/** The version of the firebase perf ios sdk. */
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *sdkVersion;
|
|
/** Test to see if @c sdkVersion has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasSdkVersion;
|
|
|
|
/**
|
|
* The CFBundleShortVersionString of the ios application bundle as shown on
|
|
* the ios app store.
|
|
* Clearcut logs the CFBundleVersion in the GWSLogEntryProto field:
|
|
* PlayExtension.client_info.ios_client_info.application_build
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *bundleShortVersion;
|
|
/** Test to see if @c bundleShortVersion has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasBundleShortVersion;
|
|
|
|
/**
|
|
* The mobile country code / mobile network code (MCC/MNC) of the device's
|
|
* SIM/home network (not the device's active network)
|
|
* e.g., 310004 for Verizon USA.
|
|
* This field should eventually move to PlaylogIosClientInfo. b/35763500
|
|
**/
|
|
@property(nonatomic, readwrite, copy, null_resettable) NSString *mccMnc;
|
|
/** Test to see if @c mccMnc has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasMccMnc;
|
|
|
|
/** The network connectivity of the client when the fetch was done. */
|
|
@property(nonatomic, readwrite, strong, null_resettable) FPRMSGNetworkConnectionInfo *networkConnectionInfo;
|
|
/** Test to see if @c networkConnectionInfo has been set. */
|
|
@property(nonatomic, readwrite) BOOL hasNetworkConnectionInfo;
|
|
|
|
@end
|
|
|
|
#pragma mark - FPRMSGTransportInfo
|
|
|
|
typedef GPB_ENUM(FPRMSGTransportInfo_FieldNumber) {
|
|
FPRMSGTransportInfo_FieldNumber_DispatchDestination = 1,
|
|
};
|
|
|
|
/**
|
|
* Transport related metadata info.
|
|
* Next tag: 2
|
|
**/
|
|
GPB_FINAL @interface FPRMSGTransportInfo : GPBMessage
|
|
|
|
/** Destination to which the events are sent. */
|
|
@property(nonatomic, readwrite) FPRMSGTransportInfo_DispatchDestination dispatchDestination;
|
|
|
|
@property(nonatomic, readwrite) BOOL hasDispatchDestination;
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|
|
CF_EXTERN_C_END
|
|
|
|
#pragma clang diagnostic pop
|
|
|
|
// @@protoc_insertion_point(global_scope)
|