def calc_buckets(
    start: float,
    upper_bound: float,
    /,
    *,
    increment_ratio: float = 1.20
) -> tuple[float, ...]:
    """Calculate histogram buckets on a logarithmic scale."""
    # See https://amplitude.com/blog/2014/08/06/optimal-streaming-histograms
    # for more details.
    result: list[float] = []
    while start <= upper_bound:
        result.append(start)
        start *= increment_ratio
    return tuple(result)