12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- #pragma once
- #include <chrono>
- #include <cstdint>
- #include <react/utils/Telemetry.h>
- namespace facebook {
- namespace react {
- /*
- * Represent arbitrary telemetry data that can be associated with the
- * particular revision of `ShadowTree`.
- */
- class MountingTelemetry final {
- public:
- /*
- * Signaling
- */
- void willDiff();
- void didDiff();
- void willCommit();
- void didCommit();
- void willLayout();
- void didLayout();
- void willMount();
- void didMount();
- /*
- * Reading
- */
- TelemetryTimePoint getDiffStartTime() const;
- TelemetryTimePoint getDiffEndTime() const;
- TelemetryTimePoint getLayoutStartTime() const;
- TelemetryTimePoint getLayoutEndTime() const;
- TelemetryTimePoint getCommitStartTime() const;
- TelemetryTimePoint getCommitEndTime() const;
- TelemetryTimePoint getMountStartTime() const;
- TelemetryTimePoint getMountEndTime() const;
- int getCommitNumber() const;
- private:
- TelemetryTimePoint diffStartTime_{kTelemetryUndefinedTimePoint};
- TelemetryTimePoint diffEndTime_{kTelemetryUndefinedTimePoint};
- TelemetryTimePoint commitStartTime_{kTelemetryUndefinedTimePoint};
- TelemetryTimePoint commitEndTime_{kTelemetryUndefinedTimePoint};
- TelemetryTimePoint layoutStartTime_{kTelemetryUndefinedTimePoint};
- TelemetryTimePoint layoutEndTime_{kTelemetryUndefinedTimePoint};
- TelemetryTimePoint mountStartTime_{kTelemetryUndefinedTimePoint};
- TelemetryTimePoint mountEndTime_{kTelemetryUndefinedTimePoint};
- int commitNumber_{0};
- };
- } // namespace react
- } // namespace facebook
|