Messages in this thread | | | Date | Sat, 20 Sep 2008 07:40:57 -0400 | From | Mathieu Desnoyers <> | Subject | Re: Unified tracing buffer |
| |
* Steven Rostedt (rostedt@goodmis.org) wrote: > > On Fri, 19 Sep 2008, Martin Bligh wrote: > > > >> Sorry, probably lots of implicit assumptions in there that I forgot to explain > > > > > > Ids for event types. Either allocated dynamically, if the tracer needs > > > new ids on each use, or statically assigned for others (like my fctrace > > > or Steven's ftrace, I believe). Should we have a reserved range / registry > > > for static allocation, maybe something like a very simple version of > > > devices.txt? > > > > Sure, but it's per-tracer, so hopefully won't be a big problem (eg fctrace > > would have a different event-id namespace from blktrace) > > > > Right! > > We stated in our little meeting that the true event id association is > buffer id / event id tuple. We will not be assigning ranges for events > for specific tracers. Ftrace will not have its own range. The static ids > are reserved for the static trace points and some various static trace > types that the average kernel developer may use. >
Just to be sure of the "that the average kernel developer may use" meaning : I would recommend keeping those static ID range only for internal buffering mechanism events. E.g., if we need to add a periodical event in every stream so we can detect timestamp wrap-around, that would be part of the buffering infrastructure itself, and thus reserve an event ID.
core_heartbeat (u64 timestamp)
Same thing if we want to export the table that maps:
event name <-> event ID <-> event typing (includes event size info)
That table can be presented into the buffers (possible a single metadata buffer) in the form of two static event IDs :
core_id_name (u16 id, const char *name) core_id_type (u16 id, const char *type)
Here another assumption for portability is to declare event type as a possibly extended format string. Alternative suggestions are welcome.
Mathieu
> Think "string event type" for a event type that will simply hold an ASCII > string. > > -- Steve >
-- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
| |