fluent-plugin-postgresql-csvlog 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fad3612d27a56001c2eb7f206db3009a8735a68aec57c086f4aec7017a436987
4
- data.tar.gz: ff593c807e71fc82465ea8f93844e744c33ef8efa6bee9b92fa1bd56fdb0bf56
3
+ metadata.gz: e36a1382a11ed800637467180b1af1a28b16f1125ecd5bf2c5b7dd0b4c708223
4
+ data.tar.gz: 36f9ea068ffd9674c7a0450feffd3ff7344774a88e63fb8934e3871155ca40a6
5
5
  SHA512:
6
- metadata.gz: f608d3f94c498f29287c82e82ffc4cbc76d2b64777bd0e9f0931ca1391ce14d2cffaf6d3c523e2e1646aaef83aba5657c0a4d56c6dda9fa255a5c616f5c84fe8
7
- data.tar.gz: 17405afcba62970d0a39ab0d654e5f883be745262a12e2f17eaad443c49934d35dbb464a0c69e0ffd63ff71ce88f7b799408efa7ec967ee11cc6d70168e08c35
6
+ metadata.gz: e5fe1bd18ada66464c1c6fa57d3cf31f389aa6831e248095d63e2c6d30b737dd363ce72dcf7b80baf771e93921bada05c7d26267969ab161f862d0dc35cc0e57
7
+ data.tar.gz: bff45c6bf1911f8106b4dd36248df2b14bd8c8d08f1d3214b95d5930c85c385ccfd1ecd23d2d712df8e044c49f5bad4e543f1b18f4de7ab81ecdd0d9001f831c
data/example-fluentd.conf CHANGED
@@ -13,6 +13,10 @@
13
13
  time_slice_format %Y%m%d%H%M%S
14
14
  flush_interval 1s
15
15
  utc
16
+
17
+ <format>
18
+ @type json
19
+ </format>
16
20
  </match>
17
21
 
18
22
  <source>
@@ -23,3 +27,15 @@
23
27
  password testpass
24
28
  interval 1
25
29
  </source>
30
+
31
+ <match postgres.pg_stat_activity>
32
+ @type file
33
+ path /var/log/pg/pg_stat_activity
34
+ time_slice_format %Y%m%d%H%M%S
35
+ flush_interval 1s
36
+ utc
37
+ <format>
38
+ @type json
39
+ </format>
40
+ </match>
41
+
@@ -2,7 +2,7 @@ $:.push File.expand_path('lib', __dir__)
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'fluent-plugin-postgresql-csvlog'
5
- s.version = '0.5.0'
5
+ s.version = '0.6.0'
6
6
  s.authors = ['stanhu']
7
7
  s.email = ['stanhu@gmail.com']
8
8
  s.homepage = 'https://gitlab.com/gitlab-org/fluent-plugins/fluent-plugin-postgresql-csvlog'
@@ -11,7 +11,7 @@ module Fluent::Plugin
11
11
  # 'fingerprint' => '8a6e9896bd9048a2',
12
12
  # 'query' => 'SELECT * FROM table ORDER BY queryid LIMIT $1',
13
13
  # 'query_length' => 58,
14
- # 'queryid' => 3239318621761098074
14
+ # 'queryid' => '3239318621761098074'
15
15
  # }
16
16
  class PgStatStatementsInput < PollingPostgresInputPlugin
17
17
  Fluent::Plugin.register_input('pg_stat_statements', self)
@@ -35,7 +35,7 @@ module Fluent::Plugin
35
35
 
36
36
  # We record the query_length as it will help in understanding whether unparseable
37
37
  # queries are truncated.
38
- record = { 'queryid' => row['queryid'], 'query_length' => query&.length }
38
+ record = { 'queryid' => row['queryid'].to_s, 'query_length' => query&.length }
39
39
 
40
40
  return record unless query
41
41
 
@@ -98,8 +98,7 @@ class PgStatStatementsInputIntegrationTest < Test::Unit::TestCase
98
98
  expected_record = {
99
99
  'fingerprint' => '8a6e9896bd9048a2',
100
100
  'query' => 'SELECT * FROM pg_stat_statements ORDER BY queryid LIMIT $1',
101
- 'query_length' => 58,
102
- 'queryid' => 3_239_318_621_761_098_074
101
+ 'query_length' => 58
103
102
  }
104
103
  known_statement_event = emits.find do |event|
105
104
  record = event[2]
@@ -114,7 +113,8 @@ class PgStatStatementsInputIntegrationTest < Test::Unit::TestCase
114
113
  assert_equal 'postgres.pg_stat_statements', tag
115
114
  assert_equal expected_record['fingerprint'], record['fingerprint']
116
115
  assert_equal expected_record['query_length'], record['query_length']
117
- assert_true expected_record.include? 'queryid'
116
+ assert_true record.include? 'queryid'
117
+ assert_true record['queryid'].is_a? String
118
118
  end
119
119
  end
120
120
  end
@@ -75,7 +75,7 @@ class PgStatStatementsInputTest < Test::Unit::TestCase
75
75
  )
76
76
  SQL
77
77
 
78
- record = d.instance.record_for_row({ 'queryid' => '1234', 'query' => ddl_sql })
78
+ record = d.instance.record_for_row({ 'queryid' => 1234, 'query' => ddl_sql })
79
79
 
80
80
  expected = {
81
81
  'fingerprint' => 'fa9c9d26757c4f9b',
@@ -88,7 +88,7 @@ class PgStatStatementsInputTest < Test::Unit::TestCase
88
88
 
89
89
  test 'set command' do
90
90
  d = create_driver
91
- record = d.instance.record_for_row({ 'queryid' => '1234', 'query' => "SET TIME ZONE 'PST8PDT'" })
91
+ record = d.instance.record_for_row({ 'queryid' => 1234, 'query' => "SET TIME ZONE 'PST8PDT'" })
92
92
 
93
93
  expected = {
94
94
  'fingerprint' => '23f8d6eb1d3125c3',
@@ -102,7 +102,7 @@ class PgStatStatementsInputTest < Test::Unit::TestCase
102
102
 
103
103
  test 'unparseable sql' do
104
104
  d = create_driver
105
- record = d.instance.record_for_row({ 'queryid' => '1234', 'query' => 'SELECT * FROM' })
105
+ record = d.instance.record_for_row({ 'queryid' => 1234, 'query' => 'SELECT * FROM' })
106
106
 
107
107
  expected = { 'query_length' => 13, 'query_unparseable' => true, 'queryid' => '1234' }
108
108
  assert_equal expected, record
@@ -5,7 +5,8 @@
5
5
 
6
6
  cleanup() {
7
7
  echo "# removing all logs"
8
- rm -rf /var/log/pg/*
8
+ rm -rf /var/log/pg/pg_stat_statements.*.log
9
+ rm -rf /var/log/pg/pg_stat_activity.*.log
9
10
  }
10
11
 
11
12
  die() {
@@ -17,6 +18,11 @@ die() {
17
18
  cleanup
18
19
  echo "# sleeping 10, awaiting logs"
19
20
  sleep 10;
20
- find /var/log/pg/ -name "pg_stat_statements.*.log" || die "No pg_stat_statements files created"
21
+
22
+ (find /var/log/pg/ -name "pg_stat_statements.*.log" | grep .) || die "No pg_stat_statements files created"
23
+ cat /var/log/pg/pg_stat_statements.*.log | tail -1
24
+
25
+ (find /var/log/pg/ -name "pg_stat_activity.*.log" | grep .) || die "No pg_stat_activity files created"
26
+ cat /var/log/pg/pg_stat_activity.*.log | tail -1
21
27
 
22
28
  cleanup
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-postgresql-csvlog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - stanhu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-27 00:00:00.000000000 Z
11
+ date: 2021-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd