diff --git a/services/mediametrics/MediaMetricsService.cpp b/services/mediametrics/MediaMetricsService.cpp
index 4f8589c..2fd1355 100644
--- a/services/mediametrics/MediaMetricsService.cpp
+++ b/services/mediametrics/MediaMetricsService.cpp
@@ -204,13 +204,13 @@
     }
 
     // crack any parameters
-    const String16 protoOption("-proto");
-    const String16 clearOption("-clear");
+    const String16 protoOption("--proto");
+    const String16 clearOption("--clear");
     bool clear = false;
-    const String16 sinceOption("-since");
+    const String16 sinceOption("--since");
     nsecs_t ts_since = 0;
-    const String16 helpOption("-help");
-    const String16 onlyOption("-only");
+    const String16 helpOption("--help");
+    const String16 onlyOption("--only");
     std::string only;
     const int n = args.size();
     for (int i = 0; i < n; i++) {
@@ -250,11 +250,11 @@
             // or dumpsys media.metrics audiotrack codec
 
             result.append("Recognized parameters:\n");
-            result.append("-help        this help message\n");
-            result.append("-proto #     dump using protocol #");
-            result.append("-clear       clears out saved records\n");
-            result.append("-only X      process records for component X\n");
-            result.append("-since X     include records since X\n");
+            result.append("--help        this help message\n");
+            result.append("--proto #     dump using protocol #");
+            result.append("--clear       clears out saved records\n");
+            result.append("--only X      process records for component X\n");
+            result.append("--since X     include records since X\n");
             result.append("             (X is milliseconds since the UNIX epoch)\n");
             write(fd, result.string(), result.size());
             return NO_ERROR;
