From 4a419818af07eba10b78cee0d87ae3b280065215 Mon Sep 17 00:00:00 2001 From: manojks1999 <64463831+manojks1999@users.noreply.github.com> Date: Tue, 16 Sep 2025 07:12:41 +0530 Subject: [PATCH] perf: improved Date formatter (#3466) * Improved Date formatter * change in naming conv * change in datetime format * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../csp/sentinel/node/metric/MetricNode.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/sentinel-core/src/main/java/com/alibaba/csp/sentinel/node/metric/MetricNode.java b/sentinel-core/src/main/java/com/alibaba/csp/sentinel/node/metric/MetricNode.java index 2f8de6bc..02a96ad6 100755 --- a/sentinel-core/src/main/java/com/alibaba/csp/sentinel/node/metric/MetricNode.java +++ b/sentinel-core/src/main/java/com/alibaba/csp/sentinel/node/metric/MetricNode.java @@ -15,9 +15,10 @@ */ package com.alibaba.csp.sentinel.node.metric; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; /** * Metrics data for a specific resource at given {@code timestamp}. @@ -210,12 +211,19 @@ public class MetricNode { * * @return string format of this. */ + + private static final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + public String toFatString() { - DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); StringBuilder sb = new StringBuilder(32); sb.delete(0, sb.length()); - sb.append(getTimestamp()).append("|"); - sb.append(df.format(new Date(getTimestamp()))).append("|"); + + long timestamp = getTimestamp(); + sb.append(timestamp).append("|"); + + LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), ZoneId.systemDefault()); + sb.append(df.format(dateTime)).append("|"); + String legalName = getResource().replaceAll("\\|", "_"); sb.append(legalName).append("|"); sb.append(getPassQps()).append("|");