This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 8c51043 Remove duplicate codes in Envoy ALS handler (#6263)
8c51043 is described below
commit 8c51043dbfc12b283a523d3dcd9e03023dfdd1a6
Author: Zhenxu Ke <[email protected]>
AuthorDate: Wed Jan 27 12:58:11 2021 +0800
Remove duplicate codes in Envoy ALS handler (#6263)
---
CHANGES.md | 1 +
.../receiver/envoy/MetricServiceGRPCHandler.java | 22 ----------------------
2 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index c8500ec..d3f256d 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -76,6 +76,7 @@ Release Notes.
* Add node information from the Openensus proto to the labels of the samples,
to support the identification of the source of the Metric data.
* Fix bug that the same sample name in one MAL expression caused
`IllegalArgumentException` in `Analyzer.analyse`.
* Add the text analyzer for querying log in the es storage.
+* Chore: Remove duplicate codes in Envoy ALS handler
#### UI
* Fix un-removed tags in trace query.
diff --git
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandler.java
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandler.java
index 2538a34..38e4370 100644
---
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandler.java
+++
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandler.java
@@ -31,12 +31,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.skywalking.apm.util.StringUtil;
import
org.apache.skywalking.oap.meter.analyzer.prometheus.PrometheusMetricConverter;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.analysis.IDManager;
-import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.core.analysis.meter.MeterSystem;
-import org.apache.skywalking.oap.server.core.analysis.NodeType;
-import org.apache.skywalking.oap.server.core.source.ServiceInstanceUpdate;
-import org.apache.skywalking.oap.server.core.source.SourceReceiver;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.util.prometheus.metrics.Metric;
@@ -51,13 +46,11 @@ import
org.apache.skywalking.oap.server.telemetry.api.MetricsTag;
@Slf4j
public class MetricServiceGRPCHandler extends
MetricsServiceGrpc.MetricsServiceImplBase {
- private final SourceReceiver sourceReceiver;
private final CounterMetrics counter;
private final HistogramMetrics histogram;
private final List<PrometheusMetricConverter> converters;
public MetricServiceGRPCHandler(final ModuleManager moduleManager, final
EnvoyMetricReceiverConfig config) throws ModuleStartException {
- sourceReceiver =
moduleManager.find(CoreModule.NAME).provider().getService(SourceReceiver.class);
MetricsCreator metricsCreator =
moduleManager.find(TelemetryModule.NAME)
.provider()
.getService(MetricsCreator.class);
@@ -102,13 +95,10 @@ public class MetricServiceGRPCHandler extends
MetricsServiceGrpc.MetricsServiceI
if (service != null &&
StringUtil.isNotEmpty(service.getServiceName()) &&
StringUtil.isNotEmpty(service.getServiceInstanceName())) {
List<Metrics.MetricFamily> list =
message.getEnvoyMetricsList();
- boolean needHeartbeatUpdate = true;
for (final Metrics.MetricFamily metricFamily : list) {
counter.inc();
- final String serviceId =
IDManager.ServiceID.buildId(service.getServiceName(), NodeType.Normal);
-
try (final HistogramMetrics.Timer ignored =
histogram.createTimer()) {
final ProtoMetricFamily2MetricsAdapter adapter =
new ProtoMetricFamily2MetricsAdapter(metricFamily);
final Stream<Metric> metrics =
adapter.adapt().peek(it -> {
@@ -116,18 +106,6 @@ public class MetricServiceGRPCHandler extends
MetricsServiceGrpc.MetricsServiceI
it.getLabels().putIfAbsent("instance",
service.getServiceInstanceName());
});
converters.forEach(converter ->
converter.toMeter(metrics));
-
- if (needHeartbeatUpdate &&
list.get(0).getMetricCount() > 0) {
- final long timestamp =
adapter.adaptTimestamp(list.get(0).getMetric(0));
-
- // Send heartbeat
- ServiceInstanceUpdate serviceInstanceUpdate =
new ServiceInstanceUpdate();
-
serviceInstanceUpdate.setName(service.getServiceInstanceName());
- serviceInstanceUpdate.setServiceId(serviceId);
-
serviceInstanceUpdate.setTimeBucket(TimeBucket.getMinuteTimeBucket(timestamp));
- sourceReceiver.receive(serviceInstanceUpdate);
- needHeartbeatUpdate = false;
- }
}
}
}