@react-native-firebase/perf 25.1.0 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/RNFBPerf.podspec +7 -6
- package/android/build.gradle +19 -0
- package/android/src/main/java/io/invertase/firebase/perf/UniversalFirebasePerfModule.java +88 -0
- package/android/src/reactnative/java/io/invertase/firebase/perf/NativeRNFBTurboPerf.java +108 -0
- package/android/src/reactnative/java/io/invertase/firebase/perf/ReactNativeFirebasePerfPackage.java +1 -1
- package/android/src/reactnative/java/io/invertase/firebase/perf/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboPerfSpec.java +100 -0
- package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/CMakeLists.txt +36 -0
- package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/RNFBPerfTurboModules-generated.cpp +80 -0
- package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/RNFBPerfTurboModules.h +31 -0
- package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/react/renderer/components/RNFBPerfTurboModules/RNFBPerfTurboModulesJSI-generated.cpp +94 -0
- package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/react/renderer/components/RNFBPerfTurboModules/RNFBPerfTurboModulesJSI.h +267 -0
- package/app.plugin.js +1 -1
- package/dist/module/HttpMetric.js +4 -4
- package/dist/module/HttpMetric.js.map +1 -1
- package/dist/module/ScreenTrace.js +5 -5
- package/dist/module/ScreenTrace.js.map +1 -1
- package/dist/module/Trace.js +4 -4
- package/dist/module/Trace.js.map +1 -1
- package/dist/module/index.js +142 -3
- package/dist/module/index.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/HttpMetric.d.ts +2 -2
- package/dist/typescript/lib/HttpMetric.d.ts.map +1 -1
- package/dist/typescript/lib/ScreenTrace.d.ts +2 -2
- package/dist/typescript/lib/ScreenTrace.d.ts.map +1 -1
- package/dist/typescript/lib/Trace.d.ts +2 -2
- package/dist/typescript/lib/Trace.d.ts.map +1 -1
- package/dist/typescript/lib/index.d.ts +23 -4
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +12 -16
- package/dist/typescript/lib/types/internal.d.ts.map +1 -1
- package/dist/typescript/lib/types/perf.d.ts +7 -7
- package/dist/typescript/lib/types/perf.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/ios/RNFBPerf/RNFBPerfModule.h +3 -2
- package/ios/RNFBPerf/{RNFBPerfModule.m → RNFBPerfModule.mm} +56 -71
- package/ios/RNFBPerf.xcodeproj/project.pbxproj +8 -8
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNFBPerfTurboModules/RNFBPerfTurboModules-generated.mm +106 -0
- package/ios/generated/RNFBPerfTurboModules/RNFBPerfTurboModules.h +191 -0
- package/ios/generated/RNFBPerfTurboModulesJSI-generated.cpp +94 -0
- package/ios/generated/RNFBPerfTurboModulesJSI.h +267 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/HttpMetric.ts +6 -6
- package/lib/ScreenTrace.ts +7 -7
- package/lib/Trace.ts +6 -6
- package/lib/index.ts +228 -5
- package/lib/types/internal.ts +12 -24
- package/lib/types/perf.ts +7 -7
- package/lib/version.ts +1 -1
- package/package.json +30 -5
- package/plugin/build/app.plugin.d.ts +2 -0
- package/plugin/build/app.plugin.js +6 -0
- package/plugin/src/app.plugin.ts +3 -0
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/react-native.config.js +10 -0
- package/specs/NativeRNFBTurboPerf.ts +44 -0
- package/typedoc.json +1 -1
- package/android/src/reactnative/java/io/invertase/firebase/perf/ReactNativeFirebasePerfModule.java +0 -158
- package/dist/module/modular.js +0 -93
- package/dist/module/modular.js.map +0 -1
- package/dist/module/namespaced.js +0 -130
- package/dist/module/namespaced.js.map +0 -1
- package/dist/module/types/namespaced.js +0 -65
- package/dist/module/types/namespaced.js.map +0 -1
- package/dist/typescript/lib/modular.d.ts +0 -43
- package/dist/typescript/lib/modular.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -11
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/dist/typescript/lib/types/namespaced.d.ts +0 -128
- package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
- package/lib/modular.ts +0 -116
- package/lib/namespaced.ts +0 -200
- package/lib/types/namespaced.ts +0 -162
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleH.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#pragma once
|
|
11
|
+
|
|
12
|
+
#include <ReactCommon/TurboModule.h>
|
|
13
|
+
#include <react/bridging/Bridging.h>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#pragma mark - NativeRNFBTurboPerfHttpMetricData
|
|
20
|
+
|
|
21
|
+
template <typename P0, typename P1, typename P2, typename P3, typename P4>
|
|
22
|
+
struct NativeRNFBTurboPerfHttpMetricData {
|
|
23
|
+
P0 attributes;
|
|
24
|
+
P1 httpResponseCode;
|
|
25
|
+
P2 requestPayloadSize;
|
|
26
|
+
P3 responsePayloadSize;
|
|
27
|
+
P4 responseContentType;
|
|
28
|
+
bool operator==(const NativeRNFBTurboPerfHttpMetricData &other) const {
|
|
29
|
+
return attributes == other.attributes && httpResponseCode == other.httpResponseCode && requestPayloadSize == other.requestPayloadSize && responsePayloadSize == other.responsePayloadSize && responseContentType == other.responseContentType;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
template <typename T>
|
|
34
|
+
struct NativeRNFBTurboPerfHttpMetricDataBridging {
|
|
35
|
+
static T types;
|
|
36
|
+
|
|
37
|
+
static T fromJs(
|
|
38
|
+
jsi::Runtime &rt,
|
|
39
|
+
const jsi::Object &value,
|
|
40
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
41
|
+
T result{
|
|
42
|
+
bridging::fromJs<decltype(types.attributes)>(rt, value.getProperty(rt, "attributes"), jsInvoker),
|
|
43
|
+
bridging::fromJs<decltype(types.httpResponseCode)>(rt, value.getProperty(rt, "httpResponseCode"), jsInvoker),
|
|
44
|
+
bridging::fromJs<decltype(types.requestPayloadSize)>(rt, value.getProperty(rt, "requestPayloadSize"), jsInvoker),
|
|
45
|
+
bridging::fromJs<decltype(types.responsePayloadSize)>(rt, value.getProperty(rt, "responsePayloadSize"), jsInvoker),
|
|
46
|
+
bridging::fromJs<decltype(types.responseContentType)>(rt, value.getProperty(rt, "responseContentType"), jsInvoker)};
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
#ifdef DEBUG
|
|
51
|
+
static jsi::Object attributesToJs(jsi::Runtime &rt, decltype(types.attributes) value) {
|
|
52
|
+
return bridging::toJs(rt, value);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static double httpResponseCodeToJs(jsi::Runtime &rt, decltype(types.httpResponseCode) value) {
|
|
56
|
+
return bridging::toJs(rt, value);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static double requestPayloadSizeToJs(jsi::Runtime &rt, decltype(types.requestPayloadSize) value) {
|
|
60
|
+
return bridging::toJs(rt, value);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static double responsePayloadSizeToJs(jsi::Runtime &rt, decltype(types.responsePayloadSize) value) {
|
|
64
|
+
return bridging::toJs(rt, value);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static jsi::String responseContentTypeToJs(jsi::Runtime &rt, decltype(types.responseContentType) value) {
|
|
68
|
+
return bridging::toJs(rt, value);
|
|
69
|
+
}
|
|
70
|
+
#endif
|
|
71
|
+
|
|
72
|
+
static jsi::Object toJs(
|
|
73
|
+
jsi::Runtime &rt,
|
|
74
|
+
const T &value,
|
|
75
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
76
|
+
auto result = facebook::jsi::Object(rt);
|
|
77
|
+
result.setProperty(rt, "attributes", bridging::toJs(rt, value.attributes, jsInvoker));
|
|
78
|
+
if (value.httpResponseCode) {
|
|
79
|
+
result.setProperty(rt, "httpResponseCode", bridging::toJs(rt, value.httpResponseCode.value(), jsInvoker));
|
|
80
|
+
}
|
|
81
|
+
if (value.requestPayloadSize) {
|
|
82
|
+
result.setProperty(rt, "requestPayloadSize", bridging::toJs(rt, value.requestPayloadSize.value(), jsInvoker));
|
|
83
|
+
}
|
|
84
|
+
if (value.responsePayloadSize) {
|
|
85
|
+
result.setProperty(rt, "responsePayloadSize", bridging::toJs(rt, value.responsePayloadSize.value(), jsInvoker));
|
|
86
|
+
}
|
|
87
|
+
if (value.responseContentType) {
|
|
88
|
+
result.setProperty(rt, "responseContentType", bridging::toJs(rt, value.responseContentType.value(), jsInvoker));
|
|
89
|
+
}
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
#pragma mark - NativeRNFBTurboPerfTraceData
|
|
97
|
+
|
|
98
|
+
template <typename P0, typename P1>
|
|
99
|
+
struct NativeRNFBTurboPerfTraceData {
|
|
100
|
+
P0 metrics;
|
|
101
|
+
P1 attributes;
|
|
102
|
+
bool operator==(const NativeRNFBTurboPerfTraceData &other) const {
|
|
103
|
+
return metrics == other.metrics && attributes == other.attributes;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
template <typename T>
|
|
108
|
+
struct NativeRNFBTurboPerfTraceDataBridging {
|
|
109
|
+
static T types;
|
|
110
|
+
|
|
111
|
+
static T fromJs(
|
|
112
|
+
jsi::Runtime &rt,
|
|
113
|
+
const jsi::Object &value,
|
|
114
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
115
|
+
T result{
|
|
116
|
+
bridging::fromJs<decltype(types.metrics)>(rt, value.getProperty(rt, "metrics"), jsInvoker),
|
|
117
|
+
bridging::fromJs<decltype(types.attributes)>(rt, value.getProperty(rt, "attributes"), jsInvoker)};
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
#ifdef DEBUG
|
|
122
|
+
static jsi::Object metricsToJs(jsi::Runtime &rt, decltype(types.metrics) value) {
|
|
123
|
+
return bridging::toJs(rt, value);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
static jsi::Object attributesToJs(jsi::Runtime &rt, decltype(types.attributes) value) {
|
|
127
|
+
return bridging::toJs(rt, value);
|
|
128
|
+
}
|
|
129
|
+
#endif
|
|
130
|
+
|
|
131
|
+
static jsi::Object toJs(
|
|
132
|
+
jsi::Runtime &rt,
|
|
133
|
+
const T &value,
|
|
134
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
135
|
+
auto result = facebook::jsi::Object(rt);
|
|
136
|
+
result.setProperty(rt, "metrics", bridging::toJs(rt, value.metrics, jsInvoker));
|
|
137
|
+
result.setProperty(rt, "attributes", bridging::toJs(rt, value.attributes, jsInvoker));
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
class JSI_EXPORT NativeRNFBTurboPerfCxxSpecJSI : public TurboModule {
|
|
143
|
+
protected:
|
|
144
|
+
NativeRNFBTurboPerfCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
145
|
+
|
|
146
|
+
public:
|
|
147
|
+
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
|
|
148
|
+
virtual jsi::Value setPerformanceCollectionEnabled(jsi::Runtime &rt, bool enabled) = 0;
|
|
149
|
+
virtual jsi::Value instrumentationEnabled(jsi::Runtime &rt, bool enabled) = 0;
|
|
150
|
+
virtual void startTrace(jsi::Runtime &rt, double id, jsi::String identifier) = 0;
|
|
151
|
+
virtual void stopTrace(jsi::Runtime &rt, double id, jsi::Object traceData) = 0;
|
|
152
|
+
virtual void startScreenTrace(jsi::Runtime &rt, double id, jsi::String identifier) = 0;
|
|
153
|
+
virtual void stopScreenTrace(jsi::Runtime &rt, double id) = 0;
|
|
154
|
+
virtual void startHttpMetric(jsi::Runtime &rt, double id, jsi::String url, jsi::String httpMethod) = 0;
|
|
155
|
+
virtual void stopHttpMetric(jsi::Runtime &rt, double id, jsi::Object metricData) = 0;
|
|
156
|
+
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
template <typename T>
|
|
160
|
+
class JSI_EXPORT NativeRNFBTurboPerfCxxSpec : public TurboModule {
|
|
161
|
+
public:
|
|
162
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
163
|
+
return delegate_.create(rt, propName);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
167
|
+
return delegate_.getPropertyNames(runtime);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboPerf";
|
|
171
|
+
|
|
172
|
+
protected:
|
|
173
|
+
NativeRNFBTurboPerfCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
174
|
+
: TurboModule(std::string{NativeRNFBTurboPerfCxxSpec::kModuleName}, jsInvoker),
|
|
175
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
private:
|
|
179
|
+
class Delegate : public NativeRNFBTurboPerfCxxSpecJSI {
|
|
180
|
+
public:
|
|
181
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
182
|
+
NativeRNFBTurboPerfCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
183
|
+
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
jsi::Object getConstants(jsi::Runtime &rt) override {
|
|
187
|
+
static_assert(
|
|
188
|
+
bridging::getParameterCount(&T::getConstants) == 1,
|
|
189
|
+
"Expected getConstants(...) to have 1 parameters");
|
|
190
|
+
|
|
191
|
+
return bridging::callFromJs<jsi::Object>(
|
|
192
|
+
rt, &T::getConstants, jsInvoker_, instance_);
|
|
193
|
+
}
|
|
194
|
+
jsi::Value setPerformanceCollectionEnabled(jsi::Runtime &rt, bool enabled) override {
|
|
195
|
+
static_assert(
|
|
196
|
+
bridging::getParameterCount(&T::setPerformanceCollectionEnabled) == 2,
|
|
197
|
+
"Expected setPerformanceCollectionEnabled(...) to have 2 parameters");
|
|
198
|
+
|
|
199
|
+
return bridging::callFromJs<jsi::Value>(
|
|
200
|
+
rt, &T::setPerformanceCollectionEnabled, jsInvoker_, instance_, std::move(enabled));
|
|
201
|
+
}
|
|
202
|
+
jsi::Value instrumentationEnabled(jsi::Runtime &rt, bool enabled) override {
|
|
203
|
+
static_assert(
|
|
204
|
+
bridging::getParameterCount(&T::instrumentationEnabled) == 2,
|
|
205
|
+
"Expected instrumentationEnabled(...) to have 2 parameters");
|
|
206
|
+
|
|
207
|
+
return bridging::callFromJs<jsi::Value>(
|
|
208
|
+
rt, &T::instrumentationEnabled, jsInvoker_, instance_, std::move(enabled));
|
|
209
|
+
}
|
|
210
|
+
void startTrace(jsi::Runtime &rt, double id, jsi::String identifier) override {
|
|
211
|
+
static_assert(
|
|
212
|
+
bridging::getParameterCount(&T::startTrace) == 3,
|
|
213
|
+
"Expected startTrace(...) to have 3 parameters");
|
|
214
|
+
|
|
215
|
+
return bridging::callFromJs<void>(
|
|
216
|
+
rt, &T::startTrace, jsInvoker_, instance_, std::move(id), std::move(identifier));
|
|
217
|
+
}
|
|
218
|
+
void stopTrace(jsi::Runtime &rt, double id, jsi::Object traceData) override {
|
|
219
|
+
static_assert(
|
|
220
|
+
bridging::getParameterCount(&T::stopTrace) == 3,
|
|
221
|
+
"Expected stopTrace(...) to have 3 parameters");
|
|
222
|
+
|
|
223
|
+
return bridging::callFromJs<void>(
|
|
224
|
+
rt, &T::stopTrace, jsInvoker_, instance_, std::move(id), std::move(traceData));
|
|
225
|
+
}
|
|
226
|
+
void startScreenTrace(jsi::Runtime &rt, double id, jsi::String identifier) override {
|
|
227
|
+
static_assert(
|
|
228
|
+
bridging::getParameterCount(&T::startScreenTrace) == 3,
|
|
229
|
+
"Expected startScreenTrace(...) to have 3 parameters");
|
|
230
|
+
|
|
231
|
+
return bridging::callFromJs<void>(
|
|
232
|
+
rt, &T::startScreenTrace, jsInvoker_, instance_, std::move(id), std::move(identifier));
|
|
233
|
+
}
|
|
234
|
+
void stopScreenTrace(jsi::Runtime &rt, double id) override {
|
|
235
|
+
static_assert(
|
|
236
|
+
bridging::getParameterCount(&T::stopScreenTrace) == 2,
|
|
237
|
+
"Expected stopScreenTrace(...) to have 2 parameters");
|
|
238
|
+
|
|
239
|
+
return bridging::callFromJs<void>(
|
|
240
|
+
rt, &T::stopScreenTrace, jsInvoker_, instance_, std::move(id));
|
|
241
|
+
}
|
|
242
|
+
void startHttpMetric(jsi::Runtime &rt, double id, jsi::String url, jsi::String httpMethod) override {
|
|
243
|
+
static_assert(
|
|
244
|
+
bridging::getParameterCount(&T::startHttpMetric) == 4,
|
|
245
|
+
"Expected startHttpMetric(...) to have 4 parameters");
|
|
246
|
+
|
|
247
|
+
return bridging::callFromJs<void>(
|
|
248
|
+
rt, &T::startHttpMetric, jsInvoker_, instance_, std::move(id), std::move(url), std::move(httpMethod));
|
|
249
|
+
}
|
|
250
|
+
void stopHttpMetric(jsi::Runtime &rt, double id, jsi::Object metricData) override {
|
|
251
|
+
static_assert(
|
|
252
|
+
bridging::getParameterCount(&T::stopHttpMetric) == 3,
|
|
253
|
+
"Expected stopHttpMetric(...) to have 3 parameters");
|
|
254
|
+
|
|
255
|
+
return bridging::callFromJs<void>(
|
|
256
|
+
rt, &T::stopHttpMetric, jsInvoker_, instance_, std::move(id), std::move(metricData));
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
private:
|
|
260
|
+
friend class NativeRNFBTurboPerfCxxSpec;
|
|
261
|
+
T *instance_;
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
Delegate delegate_;
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
} // namespace facebook::react
|
package/app.plugin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = require('./plugin/build');
|
|
1
|
+
module.exports = require('./plugin/build/app.plugin');
|
|
@@ -57,14 +57,14 @@ export default class HttpMetric extends MetricWithAttributes {
|
|
|
57
57
|
}
|
|
58
58
|
start() {
|
|
59
59
|
if (this._started) {
|
|
60
|
-
return
|
|
60
|
+
return;
|
|
61
61
|
}
|
|
62
62
|
this._started = true;
|
|
63
|
-
|
|
63
|
+
this.native.startHttpMetric(this._id, this._url, this._httpMethod);
|
|
64
64
|
}
|
|
65
65
|
stop() {
|
|
66
66
|
if (this._stopped) {
|
|
67
|
-
return
|
|
67
|
+
return;
|
|
68
68
|
}
|
|
69
69
|
this._stopped = true;
|
|
70
70
|
const metricData = {
|
|
@@ -85,7 +85,7 @@ export default class HttpMetric extends MetricWithAttributes {
|
|
|
85
85
|
if (!isNull(this._responseContentType)) {
|
|
86
86
|
metricData.responseContentType = this._responseContentType;
|
|
87
87
|
}
|
|
88
|
-
|
|
88
|
+
this.native.stopHttpMetric(this._id, metricData);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
//# sourceMappingURL=HttpMetric.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isNull","isNumber","isString","MetricWithAttributes","HttpMetric","constructor","native","url","httpMethod","_url","_httpMethod","_httpResponseCode","_requestPayloadSize","_responsePayloadSize","_responseContentType","_started","_stopped","setHttpResponseCode","code","Error","setRequestPayloadSize","bytes","setResponsePayloadSize","setResponseContentType","contentType","start","
|
|
1
|
+
{"version":3,"names":["isNull","isNumber","isString","MetricWithAttributes","HttpMetric","constructor","native","url","httpMethod","_url","_httpMethod","_httpResponseCode","_requestPayloadSize","_responsePayloadSize","_responseContentType","_started","_stopped","setHttpResponseCode","code","Error","setRequestPayloadSize","bytes","setResponsePayloadSize","setResponseContentType","contentType","start","startHttpMetric","_id","stop","metricData","attributes","Object","assign","_attributes","httpResponseCode","console","warn","requestPayloadSize","responsePayloadSize","responseContentType","stopHttpMetric"],"sourceRoot":"../../lib","sources":["HttpMetric.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,20 +29,20 @@ export default class ScreenTrace {
|
|
|
29
29
|
}
|
|
30
30
|
start() {
|
|
31
31
|
if (isIOS) {
|
|
32
|
-
|
|
32
|
+
throw new Error('Custom screentraces are currently not supported on iOS.');
|
|
33
33
|
}
|
|
34
34
|
if (this._started) {
|
|
35
|
-
return
|
|
35
|
+
return;
|
|
36
36
|
}
|
|
37
37
|
this._started = true;
|
|
38
|
-
|
|
38
|
+
this.native.startScreenTrace(this._id, this._identifier);
|
|
39
39
|
}
|
|
40
40
|
stop() {
|
|
41
41
|
if (!this._started || this._stopped) {
|
|
42
|
-
return
|
|
42
|
+
return;
|
|
43
43
|
}
|
|
44
44
|
this._stopped = true;
|
|
45
|
-
|
|
45
|
+
this.native.stopScreenTrace(this._id);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
//# sourceMappingURL=ScreenTrace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isIOS","id","ScreenTrace","constructor","native","identifier","_identifier","_id","_started","_stopped","start","
|
|
1
|
+
{"version":3,"names":["isIOS","id","ScreenTrace","constructor","native","identifier","_identifier","_id","_started","_stopped","start","Error","startScreenTrace","stop","stopScreenTrace"],"sourceRoot":"../../lib","sources":["ScreenTrace.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,KAAK,QAAQ,+CAA+C;AAIrE,IAAIC,EAAE,GAAG,CAAC;AAEV,eAAe,MAAMC,WAAW,CAAC;EAO/BC,WAAWA,CAACC,MAA4B,EAAEC,UAAkB,EAAE;IAC5D,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACE,WAAW,GAAGD,UAAU;IAC7B,IAAI,CAACE,GAAG,GAAGN,EAAE,EAAE;IACf,IAAI,CAACO,QAAQ,GAAG,KAAK;IACrB,IAAI,CAACC,QAAQ,GAAG,KAAK;EACvB;EAEAC,KAAKA,CAAA,EAAS;IACZ,IAAIV,KAAK,EAAE;MACT,MAAM,IAAIW,KAAK,CAAC,yDAAyD,CAAC;IAC5E;IACA,IAAI,IAAI,CAACH,QAAQ,EAAE;MACjB;IACF;IACA,IAAI,CAACA,QAAQ,GAAG,IAAI;IAEpB,IAAI,CAACJ,MAAM,CAACQ,gBAAgB,CAAC,IAAI,CAACL,GAAG,EAAE,IAAI,CAACD,WAAW,CAAC;EAC1D;EAEAO,IAAIA,CAAA,EAAS;IACX,IAAI,CAAC,IAAI,CAACL,QAAQ,IAAI,IAAI,CAACC,QAAQ,EAAE;MACnC;IACF;IACA,IAAI,CAACA,QAAQ,GAAG,IAAI;IAEpB,IAAI,CAACL,MAAM,CAACU,eAAe,CAAC,IAAI,CAACP,GAAG,CAAC;EACvC;AACF","ignoreList":[]}
|
package/dist/module/Trace.js
CHANGED
|
@@ -67,21 +67,21 @@ export default class Trace extends MetricWithAttributes {
|
|
|
67
67
|
}
|
|
68
68
|
start() {
|
|
69
69
|
if (this._started) {
|
|
70
|
-
return
|
|
70
|
+
return;
|
|
71
71
|
}
|
|
72
72
|
this._started = true;
|
|
73
|
-
|
|
73
|
+
this.native.startTrace(this._id, this._identifier);
|
|
74
74
|
}
|
|
75
75
|
stop() {
|
|
76
76
|
if (this._stopped) {
|
|
77
|
-
return
|
|
77
|
+
return;
|
|
78
78
|
}
|
|
79
79
|
this._stopped = true;
|
|
80
80
|
const traceData = {
|
|
81
81
|
metrics: Object.assign({}, this._metrics),
|
|
82
82
|
attributes: Object.assign({}, this._attributes)
|
|
83
83
|
};
|
|
84
|
-
|
|
84
|
+
this.native.stopTrace(this._id, traceData);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
//# sourceMappingURL=Trace.js.map
|
package/dist/module/Trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hasOwnProperty","isNumber","isString","MetricWithAttributes","Trace","constructor","native","identifier","_identifier","_metrics","_started","_stopped","getMetric","metricName","Error","getMetrics","Object","assign","putMetric","value","incrementMetric","num","incrementBy","removeMetric","metric","start","
|
|
1
|
+
{"version":3,"names":["hasOwnProperty","isNumber","isString","MetricWithAttributes","Trace","constructor","native","identifier","_identifier","_metrics","_started","_stopped","getMetric","metricName","Error","getMetrics","Object","assign","putMetric","value","incrementMetric","num","incrementBy","removeMetric","metric","start","startTrace","_id","stop","traceData","metrics","attributes","_attributes","stopTrace"],"sourceRoot":"../../lib","sources":["Trace.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/module/index.js
CHANGED
|
@@ -17,7 +17,146 @@
|
|
|
17
17
|
*
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
import { isBoolean, isOneOf, isString } from '@react-native-firebase/app/dist/module/common';
|
|
21
|
+
import { FirebaseModule, getOrCreateModularInstance } from '@react-native-firebase/app/dist/module/internal';
|
|
22
|
+
import "./types/internal.js";
|
|
23
|
+
import { Platform } from 'react-native';
|
|
24
|
+
import HttpMetricImpl from "./HttpMetric.js";
|
|
25
|
+
import ScreenTraceImpl from "./ScreenTrace.js";
|
|
26
|
+
import TraceImpl from "./Trace.js";
|
|
27
|
+
import { version } from "./version.js";
|
|
28
|
+
const nativeModuleName = 'NativeRNFBTurboPerf';
|
|
29
|
+
const VALID_HTTP_METHODS = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];
|
|
30
|
+
class FirebasePerfModule extends FirebaseModule {
|
|
31
|
+
constructor(app, config, customUrlOrRegion) {
|
|
32
|
+
super(app, config, customUrlOrRegion);
|
|
33
|
+
this._isPerformanceCollectionEnabled = this.native.isPerformanceCollectionEnabled;
|
|
34
|
+
this._instrumentationEnabled = this.native.isInstrumentationEnabled;
|
|
35
|
+
}
|
|
36
|
+
get isPerformanceCollectionEnabled() {
|
|
37
|
+
return this._isPerformanceCollectionEnabled;
|
|
38
|
+
}
|
|
39
|
+
get instrumentationEnabled() {
|
|
40
|
+
return this._instrumentationEnabled;
|
|
41
|
+
}
|
|
42
|
+
set instrumentationEnabled(enabled) {
|
|
43
|
+
if (!isBoolean(enabled)) {
|
|
44
|
+
throw new Error("firebase.perf().instrumentationEnabled = 'enabled' must be a boolean.");
|
|
45
|
+
}
|
|
46
|
+
if (Platform.OS === 'ios') {
|
|
47
|
+
// We don't change for android as it cannot be set from code, it is set at gradle build time.
|
|
48
|
+
this._instrumentationEnabled = enabled;
|
|
49
|
+
// No need to await, as it only takes effect on the next app run.
|
|
50
|
+
this.native.instrumentationEnabled(enabled);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
get dataCollectionEnabled() {
|
|
54
|
+
return this._isPerformanceCollectionEnabled;
|
|
55
|
+
}
|
|
56
|
+
set dataCollectionEnabled(enabled) {
|
|
57
|
+
if (!isBoolean(enabled)) {
|
|
58
|
+
throw new Error("firebase.perf().dataCollectionEnabled = 'enabled' must be a boolean.");
|
|
59
|
+
}
|
|
60
|
+
this._isPerformanceCollectionEnabled = enabled;
|
|
61
|
+
// Keep setter behavior fire-and-forget; callers that need completion should use setPerformanceCollectionEnabled().
|
|
62
|
+
void this.native.setPerformanceCollectionEnabled(enabled);
|
|
63
|
+
}
|
|
64
|
+
async setPerformanceCollectionEnabled(enabled) {
|
|
65
|
+
if (!isBoolean(enabled)) {
|
|
66
|
+
throw new Error("firebase.perf().setPerformanceCollectionEnabled(*) 'enabled' must be a boolean.");
|
|
67
|
+
}
|
|
68
|
+
if (Platform.OS === 'ios') {
|
|
69
|
+
// '_instrumentationEnabled' is updated here as well to maintain backward compatibility. See:
|
|
70
|
+
// https://github.com/invertase/react-native-firebase/commit/b705622e64d6ebf4ee026d50841e2404cf692f85
|
|
71
|
+
this._instrumentationEnabled = enabled;
|
|
72
|
+
await this.native.instrumentationEnabled(enabled);
|
|
73
|
+
}
|
|
74
|
+
this._isPerformanceCollectionEnabled = enabled;
|
|
75
|
+
return this.native.setPerformanceCollectionEnabled(enabled);
|
|
76
|
+
}
|
|
77
|
+
newTrace(identifier) {
|
|
78
|
+
// TODO(VALIDATION): identifier: no leading or trailing whitespace, no leading underscore '_'
|
|
79
|
+
if (!isString(identifier) || identifier.length > 100) {
|
|
80
|
+
throw new Error("firebase.perf().newTrace(*) 'identifier' must be a string with a maximum length of 100 characters.");
|
|
81
|
+
}
|
|
82
|
+
return new TraceImpl(this.native, identifier);
|
|
83
|
+
}
|
|
84
|
+
startTrace(identifier) {
|
|
85
|
+
const traceInstance = this.newTrace(identifier);
|
|
86
|
+
traceInstance.start();
|
|
87
|
+
return traceInstance;
|
|
88
|
+
}
|
|
89
|
+
newScreenTrace(identifier) {
|
|
90
|
+
if (!isString(identifier) || identifier.length > 100) {
|
|
91
|
+
throw new Error("firebase.perf().newScreenTrace(*) 'identifier' must be a string with a maximum length of 100 characters.");
|
|
92
|
+
}
|
|
93
|
+
return new ScreenTraceImpl(this.native, identifier);
|
|
94
|
+
}
|
|
95
|
+
startScreenTrace(identifier) {
|
|
96
|
+
const screenTrace = this.newScreenTrace(identifier);
|
|
97
|
+
screenTrace.start();
|
|
98
|
+
return screenTrace;
|
|
99
|
+
}
|
|
100
|
+
newHttpMetric(url, httpMethod) {
|
|
101
|
+
if (!isString(url)) {
|
|
102
|
+
throw new Error("firebase.perf().newHttpMetric(*, _) 'url' must be a string.");
|
|
103
|
+
}
|
|
104
|
+
if (!isOneOf(httpMethod, VALID_HTTP_METHODS)) {
|
|
105
|
+
throw new Error(`firebase.perf().newHttpMetric(_, *) 'httpMethod' must be one of ${VALID_HTTP_METHODS.join(', ')}.`);
|
|
106
|
+
}
|
|
107
|
+
return new HttpMetricImpl(this.native, url, httpMethod);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const config = {
|
|
111
|
+
namespace: 'perf',
|
|
112
|
+
nativeModuleName,
|
|
113
|
+
nativeEvents: false,
|
|
114
|
+
hasMultiAppSupport: false,
|
|
115
|
+
hasCustomUrlOrRegionSupport: false,
|
|
116
|
+
turboModule: true
|
|
117
|
+
};
|
|
118
|
+
export const SDK_VERSION = version;
|
|
119
|
+
function perfInternal(performance) {
|
|
120
|
+
return performance;
|
|
121
|
+
}
|
|
122
|
+
export function getPerformance(app) {
|
|
123
|
+
return getOrCreateModularInstance(FirebasePerfModule, config, app);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Creates a Performance Monitoring instance and applies optional settings.
|
|
128
|
+
*
|
|
129
|
+
* @remarks Returns **synchronously** on React Native Firebase (unlike some async firebase-js-sdk
|
|
130
|
+
* initialization paths). Settings are applied to the native Performance SDK instance.
|
|
131
|
+
*/
|
|
132
|
+
export function initializePerformance(app, settings) {
|
|
133
|
+
const perf = getPerformance(app);
|
|
134
|
+
if (settings?.dataCollectionEnabled !== undefined) {
|
|
135
|
+
perf.dataCollectionEnabled = settings.dataCollectionEnabled;
|
|
136
|
+
}
|
|
137
|
+
if (settings?.instrumentationEnabled !== undefined) {
|
|
138
|
+
perf.instrumentationEnabled = settings.instrumentationEnabled;
|
|
139
|
+
}
|
|
140
|
+
return perf;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Creates a custom performance trace.
|
|
145
|
+
*
|
|
146
|
+
* @remarks On React Native Firebase, {@link PerformanceTrace.start} and
|
|
147
|
+
* {@link PerformanceTrace.stop} are **synchronous** (in-memory native calls via TurboModules),
|
|
148
|
+
* matching the firebase-js-sdk web `PerformanceTrace`.
|
|
149
|
+
*/
|
|
150
|
+
export function trace(performance, name) {
|
|
151
|
+
return perfInternal(performance).newTrace(name);
|
|
152
|
+
}
|
|
153
|
+
export function httpMetric(performance, url, httpMethod) {
|
|
154
|
+
return perfInternal(performance).newHttpMetric(url, httpMethod);
|
|
155
|
+
}
|
|
156
|
+
export function newScreenTrace(performance, screenName) {
|
|
157
|
+
return perfInternal(performance).newScreenTrace(screenName);
|
|
158
|
+
}
|
|
159
|
+
export function startScreenTrace(performance, screenName) {
|
|
160
|
+
return perfInternal(performance).startScreenTrace(screenName);
|
|
161
|
+
}
|
|
23
162
|
//# sourceMappingURL=index.js.map
|
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["isBoolean","isOneOf","isString","FirebaseModule","getOrCreateModularInstance","Platform","HttpMetricImpl","ScreenTraceImpl","TraceImpl","version","nativeModuleName","VALID_HTTP_METHODS","FirebasePerfModule","constructor","app","config","customUrlOrRegion","_isPerformanceCollectionEnabled","native","isPerformanceCollectionEnabled","_instrumentationEnabled","isInstrumentationEnabled","instrumentationEnabled","enabled","Error","OS","dataCollectionEnabled","setPerformanceCollectionEnabled","newTrace","identifier","length","startTrace","traceInstance","start","newScreenTrace","startScreenTrace","screenTrace","newHttpMetric","url","httpMethod","join","namespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","turboModule","SDK_VERSION","perfInternal","performance","getPerformance","initializePerformance","settings","perf","undefined","trace","name","httpMetric","screenName"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -15,7 +15,7 @@ export default class HttpMetric extends MetricWithAttributes {
|
|
|
15
15
|
setRequestPayloadSize(bytes: number | null): void;
|
|
16
16
|
setResponsePayloadSize(bytes: number | null): void;
|
|
17
17
|
setResponseContentType(contentType: string | null): void;
|
|
18
|
-
start():
|
|
19
|
-
stop():
|
|
18
|
+
start(): void;
|
|
19
|
+
stop(): void;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=HttpMetric.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpMetric.d.ts","sourceRoot":"","sources":["../../../lib/HttpMetric.ts"],"names":[],"mappings":"AAmBA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,oBAAoB;IAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAe7E,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU9C,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUjD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUlD,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUxD,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"HttpMetric.d.ts","sourceRoot":"","sources":["../../../lib/HttpMetric.ts"],"names":[],"mappings":"AAmBA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,oBAAoB;IAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAe7E,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU9C,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUjD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUlD,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUxD,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;CA+Bb"}
|
|
@@ -6,7 +6,7 @@ export default class ScreenTrace {
|
|
|
6
6
|
private _started;
|
|
7
7
|
private _stopped;
|
|
8
8
|
constructor(native: RNFBPerfNativeModule, identifier: string);
|
|
9
|
-
start():
|
|
10
|
-
stop():
|
|
9
|
+
start(): void;
|
|
10
|
+
stop(): void;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=ScreenTrace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenTrace.d.ts","sourceRoot":"","sources":["../../../lib/ScreenTrace.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM;IAQ5D,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"ScreenTrace.d.ts","sourceRoot":"","sources":["../../../lib/ScreenTrace.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM;IAQ5D,KAAK,IAAI,IAAI;IAYb,IAAI,IAAI,IAAI;CAQb"}
|
|
@@ -11,7 +11,7 @@ export default class Trace extends MetricWithAttributes {
|
|
|
11
11
|
putMetric(metricName: string, value: number): void;
|
|
12
12
|
incrementMetric(metricName: string, num?: number): void;
|
|
13
13
|
removeMetric(metric: string): void;
|
|
14
|
-
start():
|
|
15
|
-
stop():
|
|
14
|
+
start(): void;
|
|
15
|
+
stop(): void;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=Trace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Trace.d.ts","sourceRoot":"","sources":["../../../lib/Trace.ts"],"names":[],"mappings":"AAmBA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,oBAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM;IAU5D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAQrC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIpC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAclD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBvD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQlC,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"Trace.d.ts","sourceRoot":"","sources":["../../../lib/Trace.ts"],"names":[],"mappings":"AAmBA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,oBAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM;IAU5D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAQrC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIpC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAclD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBvD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQlC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;CAab"}
|