ruby-grafana-reporter 0.2.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +126 -88
- data/bin/ruby-grafana-reporter +2 -2
- data/lib/VERSION.rb +3 -2
- data/lib/grafana/abstract_datasource.rb +146 -0
- data/lib/grafana/dashboard.rb +1 -3
- data/lib/grafana/errors.rb +18 -3
- data/lib/grafana/grafana.rb +64 -66
- data/lib/grafana/grafana_alerts_datasource.rb +57 -0
- data/lib/grafana/grafana_annotations_datasource.rb +56 -0
- data/lib/grafana/grafana_property_datasource.rb +30 -0
- data/lib/grafana/graphite_datasource.rb +72 -0
- data/lib/grafana/image_rendering_datasource.rb +44 -0
- data/lib/grafana/influxdb_datasource.rb +70 -0
- data/lib/grafana/panel.rb +9 -3
- data/lib/grafana/prometheus_datasource.rb +67 -0
- data/lib/grafana/sql_datasource.rb +78 -0
- data/lib/grafana/unsupported_datasource.rb +7 -0
- data/lib/grafana/variable.rb +1 -1
- data/lib/grafana/webrequest.rb +71 -0
- data/lib/grafana_reporter/abstract_query.rb +460 -0
- data/lib/grafana_reporter/abstract_report.rb +139 -18
- data/lib/grafana_reporter/alerts_table_query.rb +39 -0
- data/lib/grafana_reporter/annotations_table_query.rb +38 -0
- data/lib/grafana_reporter/application/application.rb +34 -286
- data/lib/grafana_reporter/application/webservice.rb +50 -15
- data/lib/grafana_reporter/asciidoctor/alerts_table_include_processor.rb +91 -0
- data/lib/grafana_reporter/asciidoctor/annotations_table_include_processor.rb +90 -0
- data/lib/grafana_reporter/asciidoctor/panel_image_block_macro.rb +74 -0
- data/lib/grafana_reporter/asciidoctor/panel_image_inline_macro.rb +76 -0
- data/lib/grafana_reporter/asciidoctor/panel_property_inline_macro.rb +70 -0
- data/lib/grafana_reporter/asciidoctor/panel_query_table_include_processor.rb +95 -0
- data/lib/grafana_reporter/asciidoctor/panel_query_value_inline_macro.rb +90 -0
- data/lib/grafana_reporter/asciidoctor/processor_mixin.rb +49 -0
- data/lib/grafana_reporter/asciidoctor/report.rb +32 -76
- data/lib/grafana_reporter/asciidoctor/show_environment_include_processor.rb +46 -0
- data/lib/grafana_reporter/asciidoctor/show_help_include_processor.rb +35 -0
- data/lib/grafana_reporter/asciidoctor/sql_table_include_processor.rb +90 -0
- data/lib/grafana_reporter/asciidoctor/sql_value_inline_macro.rb +86 -0
- data/lib/grafana_reporter/asciidoctor/value_as_variable_include_processor.rb +90 -0
- data/lib/grafana_reporter/configuration.rb +59 -52
- data/lib/grafana_reporter/console_configuration_wizard.rb +311 -0
- data/lib/grafana_reporter/demo_report_wizard.rb +105 -0
- data/lib/grafana_reporter/erb/report.rb +30 -0
- data/lib/grafana_reporter/erb/report_jail.rb +21 -0
- data/lib/grafana_reporter/errors.rb +55 -0
- data/lib/grafana_reporter/help.rb +443 -0
- data/lib/grafana_reporter/logger/{two_way_logger.rb → two_way_delegate_logger.rb} +1 -1
- data/lib/grafana_reporter/panel_image_query.rb +25 -0
- data/lib/grafana_reporter/panel_property_query.rb +22 -0
- data/lib/grafana_reporter/query_value_query.rb +61 -0
- data/lib/grafana_reporter/report_webhook.rb +35 -0
- data/lib/ruby_grafana_extension.rb +8 -0
- data/lib/{ruby-grafana-reporter.rb → ruby_grafana_reporter.rb} +1 -0
- metadata +47 -39
- data/lib/grafana/abstract_panel_query.rb +0 -22
- data/lib/grafana/abstract_query.rb +0 -132
- data/lib/grafana/abstract_sql_query.rb +0 -51
- data/lib/grafana/panel_image_query.rb +0 -52
- data/lib/grafana_reporter/asciidoctor/alerts_table_query.rb +0 -104
- data/lib/grafana_reporter/asciidoctor/annotations_table_query.rb +0 -99
- data/lib/grafana_reporter/asciidoctor/errors.rb +0 -40
- data/lib/grafana_reporter/asciidoctor/extensions/alerts_table_include_processor.rb +0 -92
- data/lib/grafana_reporter/asciidoctor/extensions/annotations_table_include_processor.rb +0 -91
- data/lib/grafana_reporter/asciidoctor/extensions/panel_image_block_macro.rb +0 -69
- data/lib/grafana_reporter/asciidoctor/extensions/panel_image_inline_macro.rb +0 -68
- data/lib/grafana_reporter/asciidoctor/extensions/panel_property_inline_macro.rb +0 -61
- data/lib/grafana_reporter/asciidoctor/extensions/panel_query_table_include_processor.rb +0 -78
- data/lib/grafana_reporter/asciidoctor/extensions/panel_query_value_inline_macro.rb +0 -73
- data/lib/grafana_reporter/asciidoctor/extensions/processor_mixin.rb +0 -20
- data/lib/grafana_reporter/asciidoctor/extensions/show_environment_include_processor.rb +0 -43
- data/lib/grafana_reporter/asciidoctor/extensions/show_help_include_processor.rb +0 -30
- data/lib/grafana_reporter/asciidoctor/extensions/sql_table_include_processor.rb +0 -70
- data/lib/grafana_reporter/asciidoctor/extensions/sql_value_inline_macro.rb +0 -66
- data/lib/grafana_reporter/asciidoctor/extensions/value_as_variable_include_processor.rb +0 -86
- data/lib/grafana_reporter/asciidoctor/help.rb +0 -435
- data/lib/grafana_reporter/asciidoctor/panel_first_value_query.rb +0 -34
- data/lib/grafana_reporter/asciidoctor/panel_image_query.rb +0 -26
- data/lib/grafana_reporter/asciidoctor/panel_property_query.rb +0 -44
- data/lib/grafana_reporter/asciidoctor/panel_table_query.rb +0 -38
- data/lib/grafana_reporter/asciidoctor/query_mixin.rb +0 -301
- data/lib/grafana_reporter/asciidoctor/sql_first_value_query.rb +0 -42
- data/lib/grafana_reporter/asciidoctor/sql_table_query.rb +0 -44
@@ -1,42 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module GrafanaReporter
|
4
|
-
module Asciidoctor
|
5
|
-
# This class is being used to execute a SQL query against a grafana datasource.
|
6
|
-
# Only the first result in the first column will be returned as a single value.
|
7
|
-
class SqlFirstValueQuery < Grafana::AbstractSqlQuery
|
8
|
-
include QueryMixin
|
9
|
-
|
10
|
-
# Executes {QueryMixin#format_columns}, {QueryMixin#replace_values} and
|
11
|
-
# {QueryMixin#filter_columns} on the query results.
|
12
|
-
#
|
13
|
-
# Finally only the first value in the first row and the first column of
|
14
|
-
# will be returned.
|
15
|
-
# @return [void]
|
16
|
-
def post_process
|
17
|
-
results = preformat_sql_result(@result.body)
|
18
|
-
results = format_columns(results, @variables['format'])
|
19
|
-
results = replace_values(results, @variables.select { |k, _v| k =~ /^replace_values_\d+/ })
|
20
|
-
results = filter_columns(results, @variables['filter_columns'])
|
21
|
-
|
22
|
-
unless results[:content].empty?
|
23
|
-
unless results[:content][0].empty?
|
24
|
-
@result = results[:content][0][0]
|
25
|
-
return
|
26
|
-
end
|
27
|
-
end
|
28
|
-
@result = ''
|
29
|
-
end
|
30
|
-
|
31
|
-
# Translates the from and to times.
|
32
|
-
# @see Grafana::AbstractSqlQuery#pre_process
|
33
|
-
# @param grafana [Grafana::Grafana] grafana instance against which the query shall be executed
|
34
|
-
# @return [void]
|
35
|
-
def pre_process(grafana)
|
36
|
-
super(grafana)
|
37
|
-
@from = translate_date(@from, @variables['grafana-report-timestamp'], false, @variables['from_timezone'] || @variables['grafana_default_from_timezone'])
|
38
|
-
@to = translate_date(@to, @variables['grafana-report-timestamp'], true, @variables['to_timezone'] || @variables['grafana_default_to_timezone'])
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module GrafanaReporter
|
4
|
-
module Asciidoctor
|
5
|
-
# This class is being used to execute a SQL query against a grafana datasource.
|
6
|
-
# The results will be formatted as as asciidoctor table.
|
7
|
-
class SqlTableQuery < Grafana::AbstractSqlQuery
|
8
|
-
include QueryMixin
|
9
|
-
|
10
|
-
# Executes {QueryMixin#format_columns}, {QueryMixin#replace_values} and
|
11
|
-
# {QueryMixin#filter_columns} on the query results.
|
12
|
-
#
|
13
|
-
# Finally the results are formatted as a asciidoctor table.
|
14
|
-
# @return [void]
|
15
|
-
def post_process
|
16
|
-
results = preformat_sql_result(@result.body)
|
17
|
-
results = format_columns(results, @variables['format'])
|
18
|
-
results = replace_values(results, @variables.select { |k, _v| k =~ /^replace_values_\d+/ })
|
19
|
-
results = filter_columns(results, @variables['filter_columns'])
|
20
|
-
results = transpose(results, @variables['transpose'])
|
21
|
-
row_divider = '| '
|
22
|
-
row_divider = @variables['row_divider'].raw_value if @variables['row_divider'].is_a?(Grafana::Variable)
|
23
|
-
column_divider = ' | '
|
24
|
-
column_divider = @variables['column_divider'].raw_value if @variables['column_divider'].is_a?(Grafana::Variable)
|
25
|
-
|
26
|
-
@result = results[:content].map do |row|
|
27
|
-
row_divider + row.map do |item|
|
28
|
-
column_divider == ' | ' ? item.to_s.gsub('|', '\\|') : item.to_s
|
29
|
-
end.join(column_divider)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# Translates the from and to times.
|
34
|
-
# @see Grafana::AbstractSqlQuery#pre_process
|
35
|
-
# @param grafana [Grafana::Grafana] grafana instance against which the query shall be executed
|
36
|
-
# @return [void]
|
37
|
-
def pre_process(grafana)
|
38
|
-
super(grafana)
|
39
|
-
@from = translate_date(@from, @variables['grafana-report-timestamp'], false, @variables['from_timezone'] || @variables['grafana_default_from_timezone'])
|
40
|
-
@to = translate_date(@to, @variables['grafana-report-timestamp'], true, @variables['to_timezone'] || @variables['grafana_default_to_timezone'])
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|