| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| rules: |
| - name: network-profiling-slow-trace |
| layer: MESH_DP |
| dsl: | |
| filter { |
| json{ |
| } |
| extractor{ |
| if (tag("LOG_KIND") == "NET_PROFILING_SAMPLED_TRACE") { |
| sampledTrace { |
| latency parsed.latency as Long |
| uri parsed.uri as String |
| reason parsed.reason as String |
| |
| if (parsed.client_process.process_id as String != "") { |
| processId parsed.client_process.process_id as String |
| } else if (parsed.client_process.local as Boolean) { |
| processId ProcessRegistry.generateVirtualLocalProcess(parsed.service as String, parsed.serviceInstance as String) as String |
| } else { |
| processId ProcessRegistry.generateVirtualRemoteProcess(parsed.service as String, parsed.serviceInstance as String, parsed.client_process.address as String) as String |
| } |
| |
| if (parsed.server_process.process_id as String != "") { |
| destProcessId parsed.server_process.process_id as String |
| } else if (parsed.server_process.local as Boolean) { |
| destProcessId ProcessRegistry.generateVirtualLocalProcess(parsed.service as String, parsed.serviceInstance as String) as String |
| } else { |
| destProcessId ProcessRegistry.generateVirtualRemoteProcess(parsed.service as String, parsed.serviceInstance as String, parsed.server_process.address as String) as String |
| } |
| |
| detectPoint parsed.detect_point as String |
| |
| if (parsed.component as String == "http" && parsed.ssl as Boolean) { |
| componentId 129 |
| } else if (parsed.component as String == "http") { |
| componentId 49 |
| } else if (parsed.ssl as Boolean) { |
| componentId 130 |
| } else { |
| componentId 110 |
| } |
| } |
| } |
| } |
| } |