telemetry-client 0.0.1
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 +7 -0
- data/lib/telemetry/signal.rb +33 -0
- data/lib/telemetry/tax/connector_integration.rb +51 -0
- data/lib/telemetry/tax/tax_telemetry_event.rb +13 -0
- data/lib/telemetry/telemetry_event.rb +42 -0
- data/lib/telemetry_client.rb +38 -0
- metadata +82 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 87490cc85081082f37cf098f14ea2b5c43c2051e
|
|
4
|
+
data.tar.gz: 80040e22e2b779c6702a4a84e45fe9984cc08ad2
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 04eab6212acbfd5f56b349ed8911470d18b6fcc0130329968434c0a2646f863255342f0c03efbfed6ed8c09f4532d9bafc2b0d4ebbce1bb6e71561d1d02e887f
|
|
7
|
+
data.tar.gz: b645bd5c48e15eb6394f073fbf4feb21a08a3a55e3a53e21963428d6413bcfc69dff3bafc92dfc3e6645d960a6ca6c8e8423460f95def245d3dbae0794c5cb8c
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
module Telemetry
|
|
4
|
+
|
|
5
|
+
class Signal
|
|
6
|
+
|
|
7
|
+
@version
|
|
8
|
+
@timestamp
|
|
9
|
+
@type
|
|
10
|
+
@class_name
|
|
11
|
+
|
|
12
|
+
attr_reader :version, :timestamp, :type, :class_name
|
|
13
|
+
attr_writer :version, :timestamp
|
|
14
|
+
|
|
15
|
+
def attribute_map
|
|
16
|
+
{
|
|
17
|
+
:'version' => @version,
|
|
18
|
+
:'timestamp' => @timestamp,
|
|
19
|
+
:'type' => @type,
|
|
20
|
+
:'@class' => @class_name,
|
|
21
|
+
}
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def initialize
|
|
25
|
+
@version = '1.0'
|
|
26
|
+
@timestamp = ((Time.now.to_f) *1000.0).to_i
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def to_json
|
|
30
|
+
return self.attribute_map.to_json
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require 'telemetry/signal'
|
|
2
|
+
|
|
3
|
+
module Telemetry
|
|
4
|
+
module Tax
|
|
5
|
+
|
|
6
|
+
class ConnectorIntegrationSignal < Signal
|
|
7
|
+
|
|
8
|
+
@zuora_trace_id
|
|
9
|
+
@total_duration
|
|
10
|
+
@tax_operation_type
|
|
11
|
+
@document_item_count_int
|
|
12
|
+
@document_number
|
|
13
|
+
@vendor_request_start_timestamp
|
|
14
|
+
@vendor_request_duration
|
|
15
|
+
@vendor_error_message
|
|
16
|
+
@vendor_http_status
|
|
17
|
+
@vendor_domain
|
|
18
|
+
@vendor_name
|
|
19
|
+
@status
|
|
20
|
+
|
|
21
|
+
attr_accessor :zuora_trace_id, :total_duration, :tax_operation_type,
|
|
22
|
+
:document_item_count_int, :document_number, :vendor_request_start_timestamp,
|
|
23
|
+
:vendor_request_duration, :vendor_error_message, :vendor_http_status,
|
|
24
|
+
:vendor_domain, :status, :vendor_name
|
|
25
|
+
|
|
26
|
+
def attribute_map
|
|
27
|
+
attributes = {
|
|
28
|
+
:'zuora_trace_id' => @zuora_trace_id,
|
|
29
|
+
:'total_duration' => @total_duration,
|
|
30
|
+
:'tax_operation_type' => @tax_operation_type,
|
|
31
|
+
:'document_item_count_int' => @document_item_count_int,
|
|
32
|
+
:'document_number' => @document_number,
|
|
33
|
+
:'vendor_request_start_timestamp' => @vendor_request_start_timestamp,
|
|
34
|
+
:'vendor_request_duration' => @vendor_request_duration,
|
|
35
|
+
:'vendor_error_message' => @vendor_error_message,
|
|
36
|
+
:'vendor_http_status' => @vendor_http_status,
|
|
37
|
+
:'vendor_domain' => @vendor_domain,
|
|
38
|
+
:'status' => @status,
|
|
39
|
+
:'vendor_name' => @vendor_name,
|
|
40
|
+
}
|
|
41
|
+
attributes.merge(super)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def initialize
|
|
45
|
+
super
|
|
46
|
+
@type = 'TaxConnectorToEngineIntegration'
|
|
47
|
+
@class_name = 'com.zuora.telemetry.api.taxintegration.TaxConnectorToEngineIntegration'
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require 'securerandom'
|
|
2
|
+
|
|
3
|
+
module Telemetry
|
|
4
|
+
|
|
5
|
+
class TelemetryEvent
|
|
6
|
+
|
|
7
|
+
$type = 'telemetry'
|
|
8
|
+
@id
|
|
9
|
+
@version
|
|
10
|
+
@service
|
|
11
|
+
@tenant_id
|
|
12
|
+
@entity_id
|
|
13
|
+
@signal_body
|
|
14
|
+
|
|
15
|
+
attr_accessor :id, :version, :service, :tenant_id, :entity_id, :signal_body
|
|
16
|
+
|
|
17
|
+
def initialize(tenant_id, entity_id, signal_body)
|
|
18
|
+
@id = SecureRandom.uuid
|
|
19
|
+
@version = '1.0'
|
|
20
|
+
@tenant_id = tenant_id
|
|
21
|
+
@entity_id = entity_id
|
|
22
|
+
@signal_body = signal_body
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def attribute_map
|
|
26
|
+
{
|
|
27
|
+
:'id' => @id,
|
|
28
|
+
:'version' => @version,
|
|
29
|
+
:'type' => $type,
|
|
30
|
+
:'service' => @service,
|
|
31
|
+
:'signal_type' => @signal_body.type,
|
|
32
|
+
:'tenant_id' => @tenant_id,
|
|
33
|
+
:'entity_id' => @entity_id,
|
|
34
|
+
:'signal_body' => @signal_body.attribute_map,
|
|
35
|
+
}
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def to_json
|
|
39
|
+
return self.attribute_map.to_json
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
Telemetry Client ruby version
|
|
3
|
+
=end
|
|
4
|
+
require 'json'
|
|
5
|
+
require 'singleton'
|
|
6
|
+
|
|
7
|
+
module TelemetryClient
|
|
8
|
+
|
|
9
|
+
ENABLE_TELEMETRY = 'ENABLE_TELEMETRY'
|
|
10
|
+
telemetry_enabled = ENV[ENABLE_TELEMETRY] and ((ENV[ENABLE_TELEMETRY] == "true") == 0)
|
|
11
|
+
|
|
12
|
+
def self.enable_telemetry
|
|
13
|
+
ENV[ENABLE_TELEMETRY] = 'true'
|
|
14
|
+
$telemetry_enabled = true
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.disable_telemetry
|
|
18
|
+
ENV[ENABLE_TELEMETRY] = 'false'
|
|
19
|
+
$telemetry_enabled = false
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.is_telemetry_enabled
|
|
23
|
+
return $telemetry_enabled
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# singleton
|
|
27
|
+
class TelemetryLogClient
|
|
28
|
+
include Singleton
|
|
29
|
+
|
|
30
|
+
def send_event(event)
|
|
31
|
+
if TelemetryClient::is_telemetry_enabled then
|
|
32
|
+
puts(event.to_json)
|
|
33
|
+
else
|
|
34
|
+
puts("telemetry is not enabled")
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: telemetry-client
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Jianfeng li
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2021-09-29 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: json
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '2.1'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 2.1.0
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - "~>"
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '2.1'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 2.1.0
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: test-unit
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
40
|
+
type: :development
|
|
41
|
+
prerelease: false
|
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0'
|
|
47
|
+
description: telemetry client ruby client, which used to send signal to log
|
|
48
|
+
email: jianfeng.li@zuora.com
|
|
49
|
+
executables: []
|
|
50
|
+
extensions: []
|
|
51
|
+
extra_rdoc_files: []
|
|
52
|
+
files:
|
|
53
|
+
- lib/telemetry/signal.rb
|
|
54
|
+
- lib/telemetry/tax/connector_integration.rb
|
|
55
|
+
- lib/telemetry/tax/tax_telemetry_event.rb
|
|
56
|
+
- lib/telemetry/telemetry_event.rb
|
|
57
|
+
- lib/telemetry_client.rb
|
|
58
|
+
homepage: https://git.zias.io/telemetry/telemetry-client-ruby
|
|
59
|
+
licenses:
|
|
60
|
+
- Zuora
|
|
61
|
+
metadata: {}
|
|
62
|
+
post_install_message:
|
|
63
|
+
rdoc_options: []
|
|
64
|
+
require_paths:
|
|
65
|
+
- lib
|
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
67
|
+
requirements:
|
|
68
|
+
- - ">="
|
|
69
|
+
- !ruby/object:Gem::Version
|
|
70
|
+
version: '0'
|
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
requirements: []
|
|
77
|
+
rubyforge_project:
|
|
78
|
+
rubygems_version: 2.5.2.3
|
|
79
|
+
signing_key:
|
|
80
|
+
specification_version: 4
|
|
81
|
+
summary: this is telemetry client!
|
|
82
|
+
test_files: []
|