Repository: hadoop
Updated Branches:
  refs/heads/trunk 111739df8 -> 8d202f125


HADOOP-13235. Use Date and Time API in KafkaSink.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8d202f12
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8d202f12
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8d202f12

Branch: refs/heads/trunk
Commit: 8d202f12589356344e26b7ca15097eec46886055
Parents: 111739d
Author: Akira Ajisaka <[email protected]>
Authored: Wed Jun 29 07:40:12 2016 -0700
Committer: Akira Ajisaka <[email protected]>
Committed: Wed Jun 29 07:40:12 2016 -0700

----------------------------------------------------------------------
 .../apache/hadoop/metrics2/sink/KafkaSink.java  | 23 +++++++++++++-------
 1 file changed, 15 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/8d202f12/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java
----------------------------------------------------------------------
diff --git 
a/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java
 
b/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java
index d8e5bd8..ba70ba7 100644
--- 
a/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java
+++ 
b/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java
@@ -38,8 +38,10 @@ import java.io.Closeable;
 import java.io.IOException;
 import java.net.InetAddress;
 import java.nio.charset.Charset;
-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;
 import java.util.Properties;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
@@ -62,6 +64,12 @@ public class KafkaSink implements MetricsSink, Closeable {
   private String topic = null;
   private Producer<Integer, byte[]> producer = null;
 
+  private final DateTimeFormatter dateFormat =
+      DateTimeFormatter.ofPattern("yyyy-MM-dd");
+  private final DateTimeFormatter timeFormat =
+      DateTimeFormatter.ofPattern("HH:mm:ss");
+  private final ZoneId zoneId = ZoneId.systemDefault();
+
   public void setProducer(Producer<Integer, byte[]> p) {
     this.producer = p;
   }
@@ -121,12 +129,11 @@ public class KafkaSink implements MetricsSink, Closeable {
     // Create the json object.
     StringBuilder jsonLines = new StringBuilder();
 
-    Long timestamp = record.timestamp();
-    Date currDate = new Date(timestamp);
-    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
-    SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm:ss");
-    String date = dateFormat.format(currDate);
-    String time = timeFormat.format(currDate);
+    long timestamp = record.timestamp();
+    Instant instant = Instant.ofEpochMilli(timestamp);
+    LocalDateTime ldt = LocalDateTime.ofInstant(instant, zoneId);
+    String date = ldt.format(dateFormat);
+    String time = ldt.format(timeFormat);
 
     // Collect datapoints and populate the json object.
     jsonLines.append("{\"hostname\": \"" + hostname);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to