kumonos 0.7.0 → 0.8.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c137d928413251dd625fb879bb9fadceaec8b67
4
- data.tar.gz: 94760987d06167ca471708e592e27fb0163704b8
3
+ metadata.gz: e8bce93ae7e9f596bc9be6c4095b9e743536ff10
4
+ data.tar.gz: e3d0d47a86b65f3434e5b10757e543105ead5385
5
5
  SHA512:
6
- metadata.gz: 3d7e6457d9cfaa4bce356fbf282fea7c5467628d5766d3d1f6044059807dcd2f608605d1e8c60ce76e0ece3ce85a548056ae3c2e5cfb56613dc19078b4f47305
7
- data.tar.gz: fa2dee968425d4eb53f57a9bd6d7f27d24a157c0dd932ad7bb69883293a380574c22cf5ad08656f1f3262fe917d09cc113d2c78433d7f43e56c9dae103fa6d33
6
+ metadata.gz: cc1a11c5f9762e9eb7463447ed8c4b4b30127c9185e5cad69ba5fe5d73839a67a4d54d8729511b66d68a1f34026261eaf84b74ba9c40bbda9309bb1836ad4324
7
+ data.tar.gz: 2384a77f383f890ffdc67c1f1c8a24ac6b36303a4a50a242e87c4251f7b9011b47ee91c5a8510df55312038b31bcd9affd584b2d6311d3e8e0236a6dd9f7a0ab
data/.travis.yml CHANGED
@@ -5,3 +5,5 @@ rvm:
5
5
  before_install:
6
6
  - gem update --system # https://github.com/rubygems/rubygems/pull/1819
7
7
  - gem install bundler
8
+ branches:
9
+ - master
data/Rakefile CHANGED
@@ -15,5 +15,14 @@ task :integration_test do
15
15
  end
16
16
  end
17
17
 
18
+ desc 'Run full integration test'
19
+ task :full_integration_test do
20
+ ENV['TEST_WITH_RELAY'] = '1'
21
+ Rake::Task['integration_test'].invoke
22
+ end
23
+
18
24
  desc 'Run all tests'
19
25
  task all: %i[spec rubocop integration_test]
26
+
27
+ desc 'Run all tests including slow ones'
28
+ task full: %i[spec rubocop full_integration_test]
data/exe/kumonos-relay CHANGED
@@ -10,18 +10,18 @@ class StatConvertor
10
10
  end
11
11
 
12
12
  def call(line)
13
- convert_cluster(add_default_tag(line)) + "\n"
13
+ convert_listener(convert_cluster(add_default_tag(line))) + "\n"
14
14
  end
15
15
 
16
16
  private
17
17
 
18
- # envoy.cluster.ab-testing.external.upstream_rq_200
19
- PATTERN = /\Aenvoy\.cluster\.([^.]+)\./
18
+ # envoy.cluster.ab-testing.external.upstream_rq_200:1|c
19
+ CLUSTER_PATTERN = /\Aenvoy\.cluster\.([^.]+)\./
20
20
  def convert_cluster(line)
21
- if line.match(PATTERN)
21
+ if line.match(CLUSTER_PATTERN)
22
22
  name = Regexp.last_match(1)
23
23
  [
24
- line.gsub(PATTERN, 'envoy.cluster.'),
24
+ line.gsub(CLUSTER_PATTERN, 'envoy.cluster.'),
25
25
  ",cluster:#{name}"
26
26
  ].join
27
27
  else
@@ -29,6 +29,21 @@ class StatConvertor
29
29
  end
30
30
  end
31
31
 
32
+ # XXX: ipv4 only
33
+ # envoy.listener.0.0.0.0_9211.http.ingress_http.downstream_rq_5xx:0|c
34
+ LISTENER_PATTERN = /\Aenvoy\.listener\.(\d+\.\d+\.\d+.\d+_\d+)./
35
+ def convert_listener(line)
36
+ if line.match(LISTENER_PATTERN)
37
+ listener = Regexp.last_match(1)
38
+ [
39
+ line.gsub(LISTENER_PATTERN, 'envoy.listener.'),
40
+ ",listener:#{listener}"
41
+ ].join
42
+ else
43
+ line
44
+ end
45
+ end
46
+
32
47
  def add_default_tag(line)
33
48
  [
34
49
  "#{line.chomp}|#",
@@ -1,3 +1,3 @@
1
1
  module Kumonos
2
- VERSION = '0.7.0'.freeze
2
+ VERSION = '0.8.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kumonos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taiki Ono