PutMetricData
Source:
src/AWS/CloudWatch/PutMetricData.ts
Runtime binding for cloudwatch:PutMetricData — publish custom metric
datums from inside a function runtime.
Provide CloudWatch.PutMetricDataHttp on the hosting Lambda Function to
satisfy the requirement. For high-volume publishing prefer the batching
MetricSink, which packs datums into 1000-datum PutMetricData
calls.
Publishing Metrics
Section titled “Publishing Metrics”export default MyFunction.make( { main: import.meta.url, functionUrl: true }, Effect.gen(function* () { // init — grants cloudwatch:PutMetricData to the function const putMetricData = yield* AWS.CloudWatch.PutMetricData();
return { fetch: Effect.gen(function* () { // runtime — publish a datum on every request yield* putMetricData({ Namespace: "MyApp/Payments", MetricData: [ { MetricName: "PaymentProcessed", Value: 1, Unit: "Count" }, ], }); return HttpServerResponse.text("ok"); }).pipe(Effect.orDie), }; }).pipe(Effect.provide(AWS.CloudWatch.PutMetricDataHttp)),);