summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/PerformanceEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/PerformanceEvent.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/PerformanceEvent.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/PerformanceEvent.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/PerformanceEvent.java
new file mode 100644
index 0000000000..b88e1885ca
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/PerformanceEvent.java
@@ -0,0 +1,68 @@
+package com.mapbox.mapboxsdk.module.telemetry;
+
+import com.mapbox.android.telemetry.Event;
+
+import android.os.Bundle;
+import android.os.Parcel;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * Generic Performance Event that can be used for performance measurements.
+ * Customer measurements can be added to the bundle.
+ */
+public class PerformanceEvent extends Event {
+ private static final String PERFORMANCE_TRACE = "performance.trace";
+
+ private final String event;
+
+ private final String created;
+
+ private final String sessionId;
+
+ private final Bundle data;
+
+ private static final SimpleDateFormat DATE_FORMAT =
+ new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US);
+
+ PerformanceEvent(String sessionId, Bundle data) {
+ this.event = PERFORMANCE_TRACE;
+ this.created = DATE_FORMAT.format(new Date());
+ this.sessionId = sessionId;
+ this.data = data;
+ }
+
+ private PerformanceEvent(Parcel in) {
+ this.event = in.readString();
+ this.created = in.readString();
+ this.sessionId = in.readString();
+ this.data = in.readBundle();
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel parcel, int i) {
+ parcel.writeString(event);
+ parcel.writeString(created);
+ parcel.writeString(sessionId);
+ parcel.writeBundle(data);
+ }
+
+ public static final Creator<PerformanceEvent> CREATOR = new Creator<PerformanceEvent>() {
+ @Override
+ public PerformanceEvent createFromParcel(Parcel in) {
+ return new PerformanceEvent(in);
+ }
+
+ @Override
+ public PerformanceEvent[] newArray(int size) {
+ return new PerformanceEvent[size];
+ }
+ };
+}