Collection is mandatory because of the way I look up the data to search. I use `registry.queryDataIds(("detector", "visit"), datasets="calexp")` to get the dataIds of interest, which requires a collection. Suggestions for alternative approaches are welcome (maybe when you review the code itself?).
data_id_restriction is available as a kwarg in the print function, I just don't know how to implement it on the cmdline.
I wrote this for ap_verify, as that's what I needed it for. That has `metricvalue_blah`, `metricvalue_blahTime`, and `metricvalue_blahMemory`. The "values" option is for the former (i.e., everything that isn't Time or Memory); I don't know what else to call it. I don't know what future expansions of this tool might be wanted in the future, I just wanted to make the thing I wrote for ap_verify useable by others.
I've added `default='value'` to the `--kind` option; I had thought it included the defaults in the cmdline help, but it doesn't.
I refactored the output to be in per-dataId blocks, with the dataID as a "header". I think you're right that it is more interpretable that way.
Good catch on the verbose message re: number of dataIds: that was a bug in the code. I've added the number of metrics to that, and tweaked the message.
Without --data_id_keys, I just print the DataCoordinates directly, since I don't know what they might contain. That results in the dict-like output. I don't know if it needs to be kept consistent with a user-specified list, and doing so seems like it might be a pain.
I took your wording re: the difference, but I'm not sure whether I should be printing `repo2-repo1` or `repo1-repo2` (the latter is what's implemented).
Copying some feedback on the preliminary output shown on
DM-34826:I suggest at least including the exposure/visit as well. Note also that ap.association.totalUnassociatedDiaObjects is not associated with either an exposure or detector, so something's going very wrong if you're able to measure it that way.
Doesn't that defeat the purpose of having a local utility that inspects metrics?