Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: mojo/services/flog/interfaces/flog.mojom

Issue 2008553006: Add 'Flog' formatted logging to mojo/services (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/services/flog/interfaces/BUILD.gn ('k') | mojo/services/mojo_services.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/flog/interfaces/flog.mojom
diff --git a/mojo/services/flog/interfaces/flog.mojom b/mojo/services/flog/interfaces/flog.mojom
new file mode 100644
index 0000000000000000000000000000000000000000..0c6f17138c9d74f583127038991eb36049ed3ef2
--- /dev/null
+++ b/mojo/services/flog/interfaces/flog.mojom
@@ -0,0 +1,75 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+[DartPackage="mojo_services"]
+module mojo.flog;
+
+// TODO(dalesat): Move out of media to somewhere more generic.
+
+// Exposed by the log service to enable creation and consumption of logs.
+[ServiceName="mojo::flog::FlogService"]
+interface FlogService {
+ // Creates a new logger.
+ CreateLogger(FlogLogger& logger, string label);
+
+ // Gets the descriptions of all logs.
+ GetLogDescriptions() => (array<FlogDescription> descriptions);
+
+ // Gets a reader for the specified log.
+ CreateReader(FlogReader& reader, uint32 log_id);
+};
+
+// A logger that logs messages regarding multiple channels.
+interface FlogLogger {
+ // Logs the creation of a channel.
+ LogChannelCreation(int64 time_us, uint32 channel_id, string type_name);
+
+ // Logs a message sent to an existing channel.
+ LogChannelMessage(int64 time_us, uint32 channel_id, array<uint8> data);
+
+ // Logs the deletion of a channel.
+ LogChannelDeletion(int64 time_us, uint32 channel_id);
+};
+
+// A reader that reads messages from one or more logs.
+interface FlogReader {
+ // Gets entries from the log starting and the specified index (entries are
+ // indexed starting at 0). If the log is open, the callback will be called
+ // when max_count entries are avaiable starting at start_index. If the log
+ // is closed, the callback will be called immediately with as many entries
+ // as are available starting at start_index and not exceeding max_count
+ // entries. entry_count and open refer to the entire log at the time the
+ // callback occurred.
+ GetEntries(uint32 start_index, uint32 max_count) =>
+ (array<FlogEntry> entries, uint32 entry_count, bool open);
+};
+
+struct FlogDescription {
+ string label;
+ uint32 log_id;
+ uint32 entry_count;
+ int64 start_time_us;
+ int64 stop_time_us;
+ bool open;
+};
+
+struct FlogEntry {
+ int64 time_us;
+ uint32 log_id;
+ uint32 channel_id;
+ FlogEntryDetails? details;
+};
+
+union FlogEntryDetails {
+ FlogChannelCreationEntryDetails channel_creation;
+ FlogChannelMessageEntryDetails channel_message;
+};
+
+struct FlogChannelCreationEntryDetails {
+ string type_name;
+};
+
+struct FlogChannelMessageEntryDetails {
+ array<uint8> data;
+};
« no previous file with comments | « mojo/services/flog/interfaces/BUILD.gn ('k') | mojo/services/mojo_services.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698