So the java code now has the tag reading/writing/log-processor stuff in. Ended up going with @ahothan 's original suggestion of adding a tag property to the base encodeable histogram java class. It was simpler to fit in tha my prior api suggestion, and required relatively little code. When writing, a tag is written if the tag property is non-null. Whe reading, the tag property is populated in the read histogram (filtering is easy to do on the user side of the api). The log processor can now be told to process a [single, default is none] tag, and has a -listtags option for listing the tags in a file.