Re: [diamon-discuss] Common Trace Format 1.9 planning
Mathieu Desnoyers <[email protected]> Wed, 25 Mar 2015 21:00:43 +0000 (UTC)
| Newsgroups | dev.linux.lists.diamon-discuss |
|---|---|
| Message-ID | <[email protected]> |
Philippe might want to chime in. ----- Original Message ----- > ----- Original Message ----- > > On 15-03-25 03:22 PM, Mathieu Desnoyers wrote: > > > > This is great, so v1.9 is a superset of 1.8. > > > > > > No. A superset would be a completely backward compatible 1.9. > > > This is not the case here. We plan to do incompatible changes > > > within 1.9, hence the 1.8 and 1.9 parsers needed. Since the > > > version is self-described, it should not be an issue to detect > > > the CTF version from the trace metadata. > > > > From what I understand, it means that a reader for 1.9 won't be able to > > read > > a 1.8 trace, is that right? > > Yes, we plan to add incompatible grammar changes. This might have to be > versioned as 2.0 then. However, we can have side-by-side implementations > of CTF 1.8 and 2.0 readers within a trace reading lib, and therefore > distinguish between those, and use the proper CTF reader implementation. > > > > > Do the version numbers mean something? If introducing non backward > > compatible > > changes only bumps the minor version, what could ever bump the major? > > Good question! In this case, we might be talking about a CTF 2.0 then, > since we are planning non-compatible changes. > > > > > If they don't have one already, this could be an opportunity to give a > > meaning > > to the numbers. The major could be for breaking backward compatibility, > > while > > the minor could be for backward-compatible changes. It would mean that a > > reader > > for x.y should be able to read any x.z trace, where z <= y. In other words, > > the > > x.y format would be a superset of x.z (I think?). Much like semver.org, but > > without the PATCH level. > > Yes, I think it's a good approach. > > We have been hesitating between moving from CTF 1.8 to either 1.9 or 2.0. > Here are the upsides/downsides of each approach: > > * 1.8 to 1.9: > + Compatibility: New CTF 1.9 readers would be able to read CTF 1.8 traces, > - Incompatibility: CTF 1.8 readers would not be able to read CTF 1.9 > traces, > - Complexity: The CTF 1.9 specification would need to be an exact subset > of 1.8, which means a more complex spec, grammar, and implementations, > > * 1.8 to 2.0: > + Compability: Since we're keeping the version headers, a trace reader > can implement parsers for both CTF 1.8 and 2.0, and read both trace > formats without requiring user interaction, > - Incompatibility: CTF 1.8 readers would not be able to read CTF 2.0 > traces, > + Simplicity: New CTF 2.0 readers would be simpler, since they would not > need to read CTF 1.8 traces, > > Since the user-visible impacts of bumping from 1.8 to 1.9 or from 1.8 to 2.0 > appear to be the same for existing implementations of the spec, I am really > tempted to bump to 2.0 at this stage. Already having the version number in > the header makes the transition so much easier to manage. > > Thoughts ? > > Thanks! > > Mathieu > > -- > Mathieu Desnoyers > EfficiOS Inc. > http://www.efficios.com > _______________________________________________ > diamon-discuss mailing list > [email protected] > https://lists.linuxfoundation.org/mailman/listinfo/diamon-discuss > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com