Skip to content

Commit 0752342

Browse files
rgergoGergo Rozsa
andauthored
[cassandra, mysql] Add support for max_returned_metrics and dbm options (#751)
* Add database monitoring flag to config * tagging fix for yaml * correcting cassandra test Co-authored-by: Gergo Rozsa <gergo.rozsa@goto.com>
1 parent a9fc9e5 commit 0752342

5 files changed

Lines changed: 21 additions & 7 deletions

File tree

manifests/integrations/cassandra.pp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
# The password for the datadog user
1515
# $tags
1616
# Optional array of tags
17+
# $max_returned_metrics
18+
# Optional number of maximum returned metrics, default 350
1719
#
1820
# Sample Usage:
1921
#
@@ -26,11 +28,12 @@
2628
#
2729
#
2830
class datadog_agent::integrations::cassandra(
29-
String $host = 'localhost',
30-
Integer $port = 7199,
31-
Optional[String] $user = undef,
32-
Optional[String] $password = undef,
33-
Optional[Hash] $tags = {},
31+
String $host = 'localhost',
32+
Integer $port = 7199,
33+
Optional[String] $user = undef,
34+
Optional[String] $password = undef,
35+
Optional[Hash] $tags = {},
36+
Optional[Integer] $max_returned_metrics = undef,
3437
) inherits datadog_agent::params {
3538
require ::datadog_agent
3639

manifests/integrations/mysql.pp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
# schema size metrics
2828
# $disable_innodb_metrics
2929
# disable innodb metrics, used with older versions of MySQL without innodb engine support.
30+
# $dbm
31+
# Database Monitoring for Application Performance Monitoring (APM)
3032
# $queries
3133
# Custom metrics based on MySQL query
3234
# Sample Usage:
@@ -51,6 +53,7 @@
5153
# extra_performance_metrics => 'true',
5254
# schema_size_metrics => 'true',
5355
# disable_innodb_metrics => 'false',
56+
# dbm => 'false',
5457
# queries => [
5558
# {
5659
# query => 'SELECT TIMESTAMPDIFF(second,MAX(create_time),NOW()) as last_accessed FROM requests',
@@ -77,6 +80,7 @@
7780
Boolean $extra_performance_metrics = false,
7881
Boolean $schema_size_metrics = false,
7982
Boolean $disable_innodb_metrics = false,
83+
Optional[Boolean] $dbm = undef,
8084
Optional[Array] $queries = [],
8185
Optional[Array] $instances = undef,
8286
Optional[Array] $logs = [],
@@ -103,6 +107,7 @@
103107
'extra_performance_metrics' => $extra_performance_metrics,
104108
'schema_size_metrics' => $schema_size_metrics,
105109
'disable_innodb_metrics' => $disable_innodb_metrics,
110+
'dbm' => $dbm,
106111
'queries' => $queries,
107112
}]
108113
} elsif !$instances{

spec/classes/datadog_agent_integrations_cassandra_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
}
6666
end
6767

68-
it { is_expected.to contain_file(conf_file).with_content(%r{tags:\s+foo: bar\s+baz: ama\s*?[^-]}m) }
68+
it { is_expected.to contain_file(conf_file).with_content(%r{tags:\s+-\s+foo:bar\s+-\s+baz:ama\s*?[^-]}m) }
6969
end
7070

7171
context 'tags not hash' do

templates/agent-conf.d/cassandra.yaml.erb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@ instances:
1111
<% if @tags.length > 0 -%>
1212
tags:
1313
<%- @tags.each do |tag_name, tag_value| -%>
14-
<%= tag_name %>: <%= tag_value %>
14+
- <%= tag_name %>:<%= tag_value %>
1515
<% end -%>
1616
<% end -%>
17+
<% if @max_returned_metrics -%>
18+
max_returned_metrics: <%= @max_returned_metrics %>
19+
<% end -%>
1720

1821
init_config:
1922

templates/agent-conf.d/mysql.yaml.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ instances:
2121
<% if instance['sock'] and instance['sock'] != :undef -%>
2222
sock: <%= instance['sock'] %>
2323
<% end -%>
24+
<% if instance['dbm'] and instance['dbm'] != :undef -%>
25+
dbm: <%= instance['dbm'] %>
26+
<% end -%>
2427

2528
<% if instance['tags'] and ! instance['tags'].empty? -%>
2629
tags:

0 commit comments

Comments
 (0)