annotations-design-patterns
    Preparing search index...

    Function Measure

    • Mide la duración de cada ejecución del método y la entrega al callback (para métricas, histogramas, APM…). Si el método devuelve una Promise, mide hasta que resuelve o rechaza. Los errores se propagan intactos.

      Parameters

      Returns <This, Args extends unknown[], Return>(
          target: (this: This, ...args: Args) => Return,
          context: ClassMethodDecoratorContext<
              This,
              (this: This, ...args: Args) => Return,
          >,
      ) => (this: This, ...args: Args) => Return

      class Api {
      @Measure((r) => metrics.histogram('api.fetch', r.durationMs, { ok: r.ok }))
      async fetch(id: string): Promise<Data> { ... }
      }