Files
react-native/ReactCommon/fabric/mounting/SurfaceTelemetry.cpp
T
Valentin Shergin 242c3c8343 Fabric: Introducing SurfaceTelemetry
Summary:
SurfaceTelemetry data structure represents telemetry data associated with a particular running Surface. We need it to aggregate data from multiple mount transaction.

Changelog: [Internal] Fabric-specific internal change.

Reviewed By: sammy-SC

Differential Revision: D22490579

fbshipit-source-id: e087aa9bc236af4da7010d67941f9ac93ad6da97
2020-07-15 23:30:33 -07:00

51 lines
1.3 KiB
C++

/*
* 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.
*/
#include "SurfaceTelemetry.h"
namespace facebook {
namespace react {
void SurfaceTelemetry::incorporate(
MountingTelemetry const &telemetry,
int numberOfMutations) {
layoutTime_ += telemetry.getLayoutEndTime() - telemetry.getLayoutStartTime();
commitTime_ += telemetry.getCommitEndTime() - telemetry.getCommitStartTime();
diffTime_ += telemetry.getDiffEndTime() - telemetry.getDiffStartTime();
mountTime_ += telemetry.getMountEndTime() - telemetry.getMountStartTime();
numberOfTransactions_++;
numberOfMutations_ += numberOfMutations;
}
TelemetryDuration SurfaceTelemetry::getLayoutTime() const {
return layoutTime_;
}
TelemetryDuration SurfaceTelemetry::getCommitTime() const {
return commitTime_;
}
TelemetryDuration SurfaceTelemetry::getDiffTime() const {
return diffTime_;
}
TelemetryDuration SurfaceTelemetry::getMountTime() const {
return mountTime_;
}
int SurfaceTelemetry::getNumberOfTransactions() const {
return numberOfTransactions_;
}
int SurfaceTelemetry::getNumberOfMutations() const {
return numberOfMutations_;
}
} // namespace react
} // namespace facebook