From 7b3e91818fd44a6e1a60473f22306a0a3533247f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=83=E4=B9=98?= Date: Tue, 26 Sep 2023 14:35:21 +0800 Subject: [PATCH] fix missing skywalking metrics issue --- plugins/input/skywalkingv2/jvm_metric_handle.go | 2 ++ plugins/input/skywalkingv3/jvm_metric_handle.go | 16 +++++++++------- plugins/input/skywalkingv3/management_handle.go | 3 --- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/plugins/input/skywalkingv2/jvm_metric_handle.go b/plugins/input/skywalkingv2/jvm_metric_handle.go index d49340edaf..5869988f0e 100644 --- a/plugins/input/skywalkingv2/jvm_metric_handle.go +++ b/plugins/input/skywalkingv2/jvm_metric_handle.go @@ -18,6 +18,7 @@ import ( "context" "github.com/alibaba/ilogtail/pkg/helper" + "github.com/alibaba/ilogtail/pkg/logger" "github.com/alibaba/ilogtail/pkg/pipeline" "github.com/alibaba/ilogtail/pkg/protocol" "github.com/alibaba/ilogtail/plugins/input/skywalkingv2/skywalking/apm/network/language/agent" @@ -35,6 +36,7 @@ func (j *JVMMetricServiceHandle) Collect(ctx context.Context, metrics *agent.JVM applicationInstance, ok := j.RegistryInformationCache.findApplicationInstanceRegistryInfo(metrics.ApplicationInstanceId) if !ok { + logger.Warning(j.context.GetRuntimeContext(), "Failed to find application instance registry info", "applicationInstanceId", metrics.ApplicationInstanceId) return &agent.Downstream{}, nil } diff --git a/plugins/input/skywalkingv3/jvm_metric_handle.go b/plugins/input/skywalkingv3/jvm_metric_handle.go index 72fc4b649e..6ae7ecf40e 100644 --- a/plugins/input/skywalkingv3/jvm_metric_handle.go +++ b/plugins/input/skywalkingv3/jvm_metric_handle.go @@ -34,13 +34,15 @@ type JVMMetricHandler struct { func (h *JVMMetricHandler) Collect(ctx context.Context, req *skywalking.JVMMetricCollection) (*v3.Commands, error) { defer panicRecover() for _, metric := range req.GetMetrics() { - fixTime := metric.Time - metric.Time%1000 - // 原始数据上传过于频繁, 不需要 - if fixTime-h.lastTime >= h.interval { - h.lastTime = fixTime - } else { - return &v3.Commands{}, nil - } + // 在充当Collector角色(一对多个实例)时,将会出现问题,因为每个实例的时间不一致,所以这里不做时间过滤 + // fixTime := metric.Time - metric.Time%1000 + // // 原始数据上传过于频繁, 不需要 + // if fixTime-h.lastTime >= h.interval { + // h.lastTime = fixTime + // } else { + // logger.Warning(h.context.GetRuntimeContext(), "", "lastTime", h.lastTime, "fixTime", fixTime, "interval", h.interval) + // return &v3.Commands{}, nil + // } logs := h.toMetricStoreFormat(metric, req.Service, req.ServiceInstance) for _, log := range logs { h.collector.AddRawLog(log) diff --git a/plugins/input/skywalkingv3/management_handle.go b/plugins/input/skywalkingv3/management_handle.go index 626de5406c..09f54c0444 100644 --- a/plugins/input/skywalkingv3/management_handle.go +++ b/plugins/input/skywalkingv3/management_handle.go @@ -79,8 +79,6 @@ func (r *ResourcePropertiesCache) save(ctx pipeline.Context) { err := ctx.SaveCheckPoint(r.cacheKey, jsonBytes) if err != nil { logger.Error(ctx.GetRuntimeContext(), "SKYWALKING_SAVE_CHECKPOINT_FAIL", "err", err.Error()) - } else { - logger.Info(ctx.GetRuntimeContext(), "msg", "skywalking save checkpoint done") } } @@ -92,7 +90,6 @@ func (r *ResourcePropertiesCache) load(ctx pipeline.Context) bool { logger.Error(ctx.GetRuntimeContext(), "SKYWALKING_LOAD_CHECKPOINT_FAIL", "err", err.Error()) return false } - logger.Info(ctx.GetRuntimeContext(), "msg", "skywalking load checkpoint done", "count", len(r.cache)) } return true }