Skip to content

@promster/[email protected]

Compare
Choose a tag to compare
@tdeekens tdeekens released this 01 Sep 06:35
· 213 commits to main since this release
eeed04e

Major Changes

  • #1099 c3fbd90 Thanks @tdeekens! - Allow customization of individual metrics.

    Previously we only allowed customizing a all histogram and percentile based metrics once with a buckets and percentiles option. This is too restrictive in cases in which you need to customize metrics individually.

    As a result you can now pass metricBuckets and metricPercentiles as options. Both of which are a Record<string, number[]>. The key needs to match a an existing metric type.

    This is a more elaborate example:

    const middleware = createMiddleware({
      app,
      options: {
        metricBuckets: {
          httpRequestContentLengthInBytes: [
            100000, 200000, 500000, 1000000, 1500000, 2000000, 3000000, 5000000,
            10000000,
          ],
          httpRequestDurationInSeconds: [
            0.05, 0.1, 0.3, 0.5, 0.8, 1, 1.5, 2, 3, 10,
          ],
        },
        metricPercentiles: {
          httpRequestDurationPerPercentileInSeconds: [0.5, 0.9, 0.95, 0.98, 0.99],
          httpResponseContentLengthInBytes: [
            100000, 200000, 500000, 1000000, 1500000, 2000000, 3000000, 5000000,
            10000000,
          ],
        },
      },
    });

    If you used buckets or percentiles before you migrate the values into the structure above.

Minor Changes

  • #1096 3ce4835 Thanks @tdeekens! - Restructure TypeScript and improve types of skip-fn

    Previously the skip function received generics to pass the request and response type. These are not needed any more. The function exported from the respective package is now typed to it.

  • #1103 0476e91 Thanks @tdeekens! - Add support for generics to skip function.

    The skip function now supports generics for cases in which you have extended the request and response type in your application. The generics default to each framework's request and response type. If you need to overwrite this pass the generics as in skip<MyRequestType, MyResponseType>(request, response).

Patch Changes