apple/swift-metrics

Clarify more visibly in docs intended use SPI/API difference

ktoso opened this issue · 3 comments

ktoso commented

Expected behavior

Users should not be confused about how to use the API.

Actual behavior

In docs and browsing the code the "init that should not be used" is the first one people encounter -- as it is defined on the classes, e.g.:

    public init(label: String, dimensions: [(String, String)], handler: TimerHandler) {

while the one that should be used is only defined later on in an extension:

    convenience init(label: String, dimensions: [(String, String)] = []) {

We should make this easier to spot and understand.


There's a few "levels" how much we want to make the spi/api split explicit, let's start with more docs and formatting and we'll see...

ktoso commented

Resolved by #27 though will get another follow up PR now

@ktoso do you feel this is now addressed, or needs more work?

ktoso commented

It's been a while; let's close this as we've not seen confusion/trouble so far.