class OpenCensus::Stats::Exporters::Logger
The Logger
exporter exports captured stats view data to a standard Ruby Logger
interface.
Public Class Methods
new(logger, level: ::Logger::INFO)
click to toggle source
Create a new Logger
exporter
@param [#log] logger The logger to write to. @param [Integer] level The log level. This should be a log level
defined by the Logger standard library. Default is `::Logger::INFO`.
# File lib/opencensus/stats/exporters/logger.rb, line 23 def initialize logger, level: ::Logger::INFO @logger = logger @level = level end
Public Instance Methods
export(views_data)
click to toggle source
Export the captured stats to the configured logger.
@param [Array<ViewData>] views_data The captured stats data.
# File lib/opencensus/stats/exporters/logger.rb, line 33 def export views_data stats_data = views_data.map { |vd| format_view_data(vd) } @logger.log @level, stats_data.to_json nil end
Private Instance Methods
format_aggregation(view_data)
click to toggle source
# File lib/opencensus/stats/exporters/logger.rb, line 66 def format_aggregation view_data { type: view_data.view.aggregation.class.name.downcase, start_time: view_data.start_time, end_time: view_data.end_time, data: view_data.data } end
format_measure(measure)
click to toggle source
# File lib/opencensus/stats/exporters/logger.rb, line 57 def format_measure measure { name: measure.name, unit: measure.unit, type: measure.type, description: measure.description } end
format_view(view)
click to toggle source
# File lib/opencensus/stats/exporters/logger.rb, line 49 def format_view view { name: view.name, columns: view.columns, description: view.description } end
format_view_data(view_data)
click to toggle source
# File lib/opencensus/stats/exporters/logger.rb, line 41 def format_view_data view_data { view: format_view(view_data.view), measure: format_measure(view_data.view.measure), aggregation: format_aggregation(view_data) } end