blob: 2b283f0036fcaf695aefe9228f27ffc099341600 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file includes macros to make it easier to log in a standardized format
// so that we can create logs-based metrics for stackdriver.
//
// https://cloud.google.com/logging/docs/logs-based-metrics/
#ifndef COBALT_UTIL_LOG_BASED_METRICS_H_
#define COBALT_UTIL_LOG_BASED_METRICS_H_
#define LOG_STACKDRIVER_METRIC(level, metric_id) \
LOG(level) << "$@LBSDM@$ [" << (metric_id) << "] "
#define LOG_BOOL_STACKDRIVER_METRIC(level, metric_id, value) \
LOG_STACKDRIVER_METRIC(level, metric_id) << "B[" << (value) << "] "
#define LOG_INT_STACKDRIVER_METRIC(level, metric_id, value) \
LOG_STACKDRIVER_METRIC(level, metric_id) << "I[" << (value) << "] "
#define LOG_STACKDRIVER_COUNT_METRIC(level, metric_id) \
LOG_STACKDRIVER_METRIC(level, metric_id)
#define LOG_STRING_STACKDRIVER_METRIC(level, metric_id, value) \
LOG_STACKDRIVER_METRIC(level, metric_id) << "S[" << (value) << "] "
#endif // COBALT_UTIL_LOG_BASED_METRICS_H_