kumonos 0.7.0 → 0.8.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
  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