Fabric: Decoupling Telemetry aggregation classes into a separate module
Summary: We need to do this to break a dependency cycle that would happen if we try to have `view` depend on `mounting` just to add some telemetry to `view`. Changelog: [Internal] Fabric-specific internal change. Reviewed By: mdvacca Differential Revision: D26827446 fbshipit-source-id: 4c415ebf5be3a02c18c80ea8a4a77068cae0f0fe
This commit is contained in:
Родитель
95f7c791c5
Коммит
79090c4802
|
@ -11,7 +11,7 @@ LOCAL_MODULE := fabricjni
|
|||
|
||||
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput librrc_picker libreact_debug libreact_render_mapbuffer libmapbufferjni
|
||||
LOCAL_SHARED_LIBRARIES := libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput librrc_picker libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry
|
||||
|
||||
LOCAL_STATIC_LIBRARIES :=
|
||||
|
||||
|
@ -61,3 +61,4 @@ $(call import-module,react/renderer/scheduler)
|
|||
$(call import-module,react/renderer/templateprocessor)
|
||||
$(call import-module,react/renderer/textlayoutmanager)
|
||||
$(call import-module,react/renderer/uimanager)
|
||||
$(call import-module,react/renderer/telemetry)
|
||||
|
|
|
@ -318,6 +318,15 @@ Pod::Spec.new do |s|
|
|||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "telemetry" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "react/renderer/telemetry/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/telemetry/tests"
|
||||
ss.header_dir = "react/renderer/telemetry"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "leakchecker" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
|
|
|
@ -75,6 +75,7 @@ rn_xplat_cxx_library(
|
|||
react_native_xplat_target("react/renderer/mounting:mounting"),
|
||||
react_native_xplat_target("react/renderer/componentregistry:componentregistry"),
|
||||
react_native_xplat_target("react/utils:utils"),
|
||||
react_native_xplat_target("react/renderer/telemetry:telemetry"),
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <react/renderer/components/view/ViewShadowNode.h>
|
||||
#include <react/renderer/components/view/conversions.h>
|
||||
#include <react/renderer/graphics/rounding.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
|
||||
#include "ParagraphState.h"
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ LOCAL_CFLAGS += -fexceptions -frtti -std=c++14 -Wall
|
|||
|
||||
LOCAL_STATIC_LIBRARIES :=
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug
|
||||
LOCAL_SHARED_LIBRARIES := libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug libreact_render_telemetry
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
@ -36,3 +36,4 @@ $(call import-module,react/renderer/debug)
|
|||
$(call import-module,react/utils)
|
||||
$(call import-module,react/debug)
|
||||
$(call import-module,yogajni)
|
||||
$(call import-module,react/renderer/telemetry)
|
||||
|
|
|
@ -62,6 +62,7 @@ rn_xplat_cxx_library(
|
|||
react_native_xplat_target("react/renderer/components/view:view"),
|
||||
react_native_xplat_target("react/renderer/core:core"),
|
||||
react_native_xplat_target("react/renderer/debug:debug"),
|
||||
react_native_xplat_target("react/renderer/telemetry:telemetry"),
|
||||
react_native_xplat_target("react/utils:utils"),
|
||||
],
|
||||
)
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
#pragma once
|
||||
|
||||
#include <react/renderer/mounting/ShadowViewMutation.h>
|
||||
#include <react/renderer/mounting/SurfaceTelemetry.h>
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/SurfaceTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <react/renderer/mounting/MountingTransaction.h>
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <react/renderer/debug/SystraceSection.h>
|
||||
#include <react/renderer/mounting/ShadowTreeRevision.h>
|
||||
#include <react/renderer/mounting/ShadowViewMutation.h>
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
|
||||
#include "ShadowTreeDelegate.h"
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include <react/renderer/mounting/MountingOverrideDelegate.h>
|
||||
#include <react/renderer/mounting/MountingTransaction.h>
|
||||
#include <react/renderer/mounting/ShadowViewMutation.h>
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include <react/renderer/mounting/MountingTransaction.h>
|
||||
#include <react/renderer/mounting/MountingTransactionMetadata.h>
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# 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.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := react_render_telemetry
|
||||
|
||||
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../
|
||||
|
||||
LOCAL_CFLAGS := \
|
||||
-DLOG_TAG=\"Fabric\"
|
||||
|
||||
LOCAL_CFLAGS += -fexceptions -frtti -std=c++14 -Wall
|
||||
|
||||
LOCAL_STATIC_LIBRARIES :=
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
$(call import-module,better)
|
||||
$(call import-module,glog)
|
||||
$(call import-module,folly)
|
||||
$(call import-module,react/utils)
|
|
@ -0,0 +1,83 @@
|
|||
load(
|
||||
"//tools/build_defs/oss:rn_defs.bzl",
|
||||
"ANDROID",
|
||||
"APPLE",
|
||||
"CXX",
|
||||
"fb_xplat_cxx_test",
|
||||
"get_apple_compiler_flags",
|
||||
"get_apple_inspector_flags",
|
||||
"get_preprocessor_flags_for_build_mode",
|
||||
"react_native_xplat_target",
|
||||
"rn_xplat_cxx_library",
|
||||
"subdir_glob",
|
||||
)
|
||||
|
||||
APPLE_COMPILER_FLAGS = get_apple_compiler_flags()
|
||||
|
||||
rn_xplat_cxx_library(
|
||||
name = "telemetry",
|
||||
srcs = glob(
|
||||
["**/*.cpp"],
|
||||
exclude = glob(["tests/**/*.cpp"]),
|
||||
),
|
||||
headers = glob(
|
||||
["**/*.h"],
|
||||
exclude = glob(["tests/**/*.h"]),
|
||||
),
|
||||
header_namespace = "",
|
||||
exported_headers = subdir_glob(
|
||||
[
|
||||
("", "*.h"),
|
||||
("stubs", "*.h"),
|
||||
],
|
||||
prefix = "react/renderer/telemetry",
|
||||
),
|
||||
compiler_flags = [
|
||||
"-fexceptions",
|
||||
"-frtti",
|
||||
"-std=c++14",
|
||||
"-Wall",
|
||||
],
|
||||
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
||||
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
|
||||
force_static = True,
|
||||
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
||||
macosx_tests_override = [],
|
||||
platforms = (ANDROID, APPLE, CXX),
|
||||
preprocessor_flags = [
|
||||
"-DLOG_TAG=\"ReactNative\"",
|
||||
"-DWITH_FBSYSTRACE=1",
|
||||
],
|
||||
tests = [":tests"],
|
||||
visibility = ["PUBLIC"],
|
||||
deps = [
|
||||
"//third-party/glog:glog",
|
||||
"//xplat/fbsystrace:fbsystrace",
|
||||
"//xplat/folly:headers_only",
|
||||
"//xplat/folly:memory",
|
||||
"//xplat/folly:molly",
|
||||
react_native_xplat_target("better:better"),
|
||||
react_native_xplat_target("react/debug:debug"),
|
||||
react_native_xplat_target("react/utils:utils"),
|
||||
],
|
||||
)
|
||||
|
||||
fb_xplat_cxx_test(
|
||||
name = "tests",
|
||||
srcs = glob(["tests/**/*.cpp"]),
|
||||
headers = glob(["tests/**/*.h"]),
|
||||
compiler_flags = [
|
||||
"-fexceptions",
|
||||
"-frtti",
|
||||
"-std=c++14",
|
||||
"-Wall",
|
||||
],
|
||||
contacts = ["oncall+react_native@xmail.facebook.com"],
|
||||
fbandroid_use_instrumentation_test = True,
|
||||
platforms = (ANDROID, APPLE, CXX),
|
||||
deps = [
|
||||
":telemetry",
|
||||
"//xplat/folly:molly",
|
||||
"//xplat/third-party/gmock:gtest",
|
||||
],
|
||||
)
|
|
@ -10,7 +10,7 @@
|
|||
#include <better/small_vector.h>
|
||||
#include <vector>
|
||||
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
#include <react/utils/Telemetry.h>
|
||||
|
||||
namespace facebook {
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
#include <react/utils/Telemetry.h>
|
||||
|
||||
using namespace facebook::react;
|
|
@ -11,7 +11,7 @@ LOCAL_MODULE := react_render_textlayoutmanager
|
|||
|
||||
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp $(LOCAL_PATH)/platform/android/react/renderer/textlayoutmanager/*.cpp)
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libfolly_futures libreactnativeutilsjni libreact_utils libfb libfbjni libreact_render_uimanager libreact_render_componentregistry libreact_render_attributedstring libreact_render_mounting libfolly_json libyoga libfolly_json libreact_render_core libreact_render_debug libreact_render_graphics libreact_debug libreact_render_mapbuffer libmapbufferjni
|
||||
LOCAL_SHARED_LIBRARIES := libfolly_futures libreactnativeutilsjni libreact_utils libfb libfbjni libreact_render_uimanager libreact_render_componentregistry libreact_render_attributedstring libreact_render_mounting libfolly_json libyoga libfolly_json libreact_render_core libreact_render_debug libreact_render_graphics libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry
|
||||
|
||||
LOCAL_STATIC_LIBRARIES :=
|
||||
|
||||
|
@ -40,3 +40,4 @@ $(call import-module,react/renderer/uimanager)
|
|||
$(call import-module,react/utils)
|
||||
$(call import-module,yogajni)
|
||||
$(call import-module,react/renderer/mapbuffer)
|
||||
$(call import-module,react/renderer/telemetry)
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include <react/jni/ReadableNativeMap.h>
|
||||
#include <react/renderer/attributedstring/conversions.h>
|
||||
#include <react/renderer/core/conversions.h>
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
#include <react/utils/LayoutManager.h>
|
||||
|
||||
using namespace facebook::jni;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
#include "TextLayoutManager.h"
|
||||
#include <react/renderer/mounting/TransactionTelemetry.h>
|
||||
#include <react/renderer/telemetry/TransactionTelemetry.h>
|
||||
#include <react/utils/ManagedObjectWrapper.h>
|
||||
|
||||
#import "RCTTextLayoutManager.h"
|
||||
|
|
|
@ -264,6 +264,7 @@ PODS:
|
|||
- React-Fabric/leakchecker (= 1000.0.0)
|
||||
- React-Fabric/mounting (= 1000.0.0)
|
||||
- React-Fabric/scheduler (= 1000.0.0)
|
||||
- React-Fabric/telemetry (= 1000.0.0)
|
||||
- React-Fabric/templateprocessor (= 1000.0.0)
|
||||
- React-Fabric/textlayoutmanager (= 1000.0.0)
|
||||
- React-Fabric/uimanager (= 1000.0.0)
|
||||
|
@ -521,6 +522,14 @@ PODS:
|
|||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-Fabric/telemetry (1000.0.0):
|
||||
- RCT-Folly/Fabric (= 2020.01.13.00)
|
||||
- RCTRequired (= 1000.0.0)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-graphics (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-Fabric/templateprocessor (1000.0.0):
|
||||
- RCT-Folly/Fabric (= 2020.01.13.00)
|
||||
- RCTRequired (= 1000.0.0)
|
||||
|
@ -841,7 +850,7 @@ SPEC CHECKSUMS:
|
|||
React-Core: 2d53d893ddeff7a58e7ed51b43a15a3d94c3c4a7
|
||||
React-CoreModules: c096a150e14753b07dc68a498508da4e55b026e9
|
||||
React-cxxreact: 14cce64344ab482615dfe82a2cbea6eb73be6481
|
||||
React-Fabric: bcced8f57507c2bc11d65f31f83891119fc7a330
|
||||
React-Fabric: d99f756e7ead26e764371939265120d3af324564
|
||||
React-graphics: 246b8e6cb4aad51271358767c965e47d692921ab
|
||||
React-jsi: 08c6628096d2025d4085fbaec8fe14a3c9dc667c
|
||||
React-jsiexecutor: 896c41b04121803e4ee61e4c9ed0900fdb420fea
|
||||
|
|
Загрузка…
Ссылка в новой задаче