序 本文主要研究一下skywalking的HTTPAccessLog HTTPAccessLog skywalking-6.6.0/oap-server/server-core/src/main/java } } HTTPAccessLog继承了AbstractLog,其scope方法返回的是HTTP_ACCESS_LOG AbstractLog skywalking-6.6.0/oap-server/server-core traceId、isError、statusCode、contentType、content属性 HTTPAccessLogDispatcher skywalking-6.6.0/oap-server/server-core 然后执行RecordStreamProcessor.getInstance().in(record) RecordStreamProcessor skywalking-6.6.0/oap-server/server-core record.getClass()对应的RecordPersistentWorker,然后执行其in方法 RecordPersistentWorker skywalking-6.6.0/oap-server/server-core
Do_Auto_and_Manual_Instrumentationin_Apache_Sky_Walking_APM_1440-07 (3).jpg HTTPAccessLog skywalking-6.6.0/oap-server/server-core } } HTTPAccessLog继承了AbstractLog,其scope方法返回的是HTTP_ACCESS_LOG AbstractLog skywalking-6.6.0/oap-server/server-core traceId、isError、statusCode、contentType、content属性 HTTPAccessLogDispatcher skywalking-6.6.0/oap-server/server-core 然后执行RecordStreamProcessor.getInstance().in(record) RecordStreamProcessor skywalking-6.6.0/oap-server/server-core record.getClass()对应的RecordPersistentWorker,然后执行其in方法 RecordPersistentWorker skywalking-6.6.0/oap-server/server-core
记事本* 不可用 可用 3.参考来源 3.1 what-is-server-core 3.2 服务器核心中包含的角色-服务器核心中包含的角色服务-服务器核心中包含的角色服务 ---- 0x01 Server-Core 安装部署 1.环境准备 描述: 在此处准备如下列环境进行Server-Core 2019标准版(不带桌面)的操作系统安装。 (1) vSphere ESXI((博主的环境) 或者 WorkStation (2) Server-Core 基础配置 4G 4C 80GB(磁盘); (3) ISO 操作系统: cn_windows_server WeiyiGeek.Server Core 初始化设置 0x02 Server-Core 管理配置 描述: 由于服务器核心没有UI因此需要使用 Windows PowerShell cmdlet、 参考地址: https://docs.microsoft.com/zh-cn/windows-server/administration/server-core/server-core-administer
Do_Auto_and_Manual_Instrumentationin_Apache_Sky_Walking_APM_1440-07 (2).jpg RemoteClientManager skywalking-6.6.0/oap-server/server-core usingClients;最后对于action为close的remoteClient执行close操作 RemoteSenderService skywalking-6.6.0/oap-server/server-core StreamData streamData); } RemoteClientSelector定义了select方法 HashCodeSelector skywalking-6.6.0/oap-server/server-core Math.abs(streamData.remoteHashCode()) % size来选择selectIndex RollingSelector skywalking-6.6.0/oap-server/server-core 它通过每次递增index然后根据Math.abs(index) % size选择selectIndex ForeverFirstSelector skywalking-6.6.0/oap-server/server-core
Do_Auto_and_Manual_Instrumentationin_Apache_Sky_Walking_APM_1440-08 (1).jpg TopNDatabaseStatement skywalking-6.6.0/oap-server/server-core return map; } } } TopNDatabaseStatement继承了TopN,定义了Builder TopN skywalking-6.6.0/oap-server/server-core TopN定义了statement、latency、trace_id、service_id属性 DatabaseStatementDispatcher skywalking-6.6.0/oap-server/server-core 然后执行TopNStreamProcessor.getInstance().in(statement) TopNStreamProcessor skywalking-6.6.0/oap-server/server-core
问题场景描述 整个项目通过Maven构建,大致结构如下: 核心Spring框架一个module spring-boot-base service和dao一个module server-core 提供系统后台数据管理一个
Do_Auto_and_Manual_Instrumentationin_Apache_Sky_Walking_APM_1440-09.jpg DatabaseSlowStatement skywalking-6.6.0/oap-server/server-core slowDatabaseAccesses.forEach(sourceReceiver::receive)通知sourceReceiver SourceReceiverImpl skywalking-6.6.0/oap-server/server-core
apm-protocol/apm-network/target/generated-sources/protobufgrpc-java and java folders in oap-server/server-core
将 oap-server/server-core/target/generated-sources/protobuf 目录下面grpc-java 和 java 目录右键设置为 Generated Rources
getEntityName方法,用于从MetricsMetaInfo提取entityName MetricValuesExportService skywalking-6.6.0/oap-server/server-core
getEntityName方法,用于从MetricsMetaInfo提取entityName MetricValuesExportService skywalking-6.6.0/oap-server/server-core
使用传送门了解 Windows Server Core: https://docs.microsoft.com/en-us/windows-server/administration/server-core
build> </project> 可选依赖(不建议引入) <dependency <groupId>org.apache.skywalking</groupId> <artifactId>server-core
build></project> 可选依赖(不建议引入) <dependency <groupId>org.apache.skywalking</groupId> <artifactId>server-core
build> </project> 可选依赖(不建议引入) <dependency <groupId>org.apache.skywalking</groupId> <artifactId>server-core
spring-boot-best-practice 可选依赖(不建议引入) <dependency <groupId>org.apache.skywalking</groupId> <artifactId>server-core