loggregator_emitter 0.0.12.pre → 0.0.13.pre
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.
- data/Gemfile +0 -2
- data/Gemfile.lock +2 -5
- data/lib/loggregator_emitter.rb +2 -0
- data/lib/loggregator_emitter/emit.rb +0 -1
- data/lib/loggregator_messages/log_message.pb.rb +26 -0
- data/lib/loggregator_messages/log_message.proto +23 -0
- data/lib/loggregator_messages/log_message_extender.rb +23 -0
- data/loggregator_emitter.gemspec +2 -2
- data/spec/loggregator_emitter/emit_spec.rb +1 -1
- data/spec/loggregator_emitter/log_message_extender_spec.rb +114 -0
- metadata +10 -5
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,16 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
loggregator_emitter (0.0.
|
5
|
-
|
4
|
+
loggregator_emitter (0.0.13.pre)
|
5
|
+
beefcake (~> 0.3.7)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
beefcake (0.3.7)
|
11
11
|
diff-lcs (1.2.4)
|
12
|
-
loggregator_messages (0.0.5.pre)
|
13
|
-
beefcake (~> 0.3.7)
|
14
12
|
rake (10.1.0)
|
15
13
|
rspec (2.14.1)
|
16
14
|
rspec-core (~> 2.14.0)
|
@@ -27,6 +25,5 @@ PLATFORMS
|
|
27
25
|
DEPENDENCIES
|
28
26
|
bundler (~> 1.3)
|
29
27
|
loggregator_emitter!
|
30
|
-
loggregator_messages (~> 0.0.5.pre)
|
31
28
|
rake (~> 10.1.0)
|
32
29
|
rspec (~> 2.14.1)
|
data/lib/loggregator_emitter.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
## Generated from log_message.proto for logMessage
|
2
|
+
require "beefcake"
|
3
|
+
|
4
|
+
|
5
|
+
class LogMessage
|
6
|
+
include Beefcake::Message
|
7
|
+
|
8
|
+
module MessageType
|
9
|
+
OUT = 1
|
10
|
+
ERR = 2
|
11
|
+
end
|
12
|
+
module SourceType
|
13
|
+
CLOUD_CONTROLLER = 1
|
14
|
+
ROUTER = 2
|
15
|
+
UAA = 3
|
16
|
+
DEA = 4
|
17
|
+
WARDEN_CONTAINER = 5
|
18
|
+
end
|
19
|
+
|
20
|
+
required :message, :bytes, 1
|
21
|
+
required :message_type, LogMessage::MessageType, 2
|
22
|
+
required :timestamp, :sint64, 3
|
23
|
+
optional :app_id, :string, 4
|
24
|
+
required :source_type, LogMessage::SourceType, 5
|
25
|
+
optional :source_id, :string, 6
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
package logMessage;
|
2
|
+
|
3
|
+
message LogMessage {
|
4
|
+
enum MessageType {
|
5
|
+
OUT = 1;
|
6
|
+
ERR = 2;
|
7
|
+
}
|
8
|
+
|
9
|
+
enum SourceType {
|
10
|
+
CLOUD_CONTROLLER = 1;
|
11
|
+
ROUTER = 2;
|
12
|
+
UAA = 3;
|
13
|
+
DEA = 4;
|
14
|
+
WARDEN_CONTAINER = 5;
|
15
|
+
}
|
16
|
+
|
17
|
+
required bytes message = 1;
|
18
|
+
required MessageType message_type = 2;
|
19
|
+
required sint64 timestamp = 3;
|
20
|
+
optional string app_id = 4;
|
21
|
+
required SourceType source_type = 5;
|
22
|
+
optional string source_id = 6;
|
23
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class LogMessage
|
2
|
+
def message_type_name
|
3
|
+
{MessageType::OUT => 'STDOUT', MessageType::ERR => 'STDERR'}[message_type]
|
4
|
+
end
|
5
|
+
|
6
|
+
def source_type_name
|
7
|
+
{SourceType::CLOUD_CONTROLLER => 'CF[CC]',
|
8
|
+
SourceType::ROUTER => 'CF[Router]',
|
9
|
+
SourceType::UAA => 'CF[UAA]',
|
10
|
+
SourceType::DEA => 'CF[DEA]',
|
11
|
+
SourceType::WARDEN_CONTAINER => 'App',}[source_type]
|
12
|
+
end
|
13
|
+
|
14
|
+
def time=(time)
|
15
|
+
self.timestamp = (time.tv_sec * 1000000000) + time.tv_nsec
|
16
|
+
end
|
17
|
+
|
18
|
+
def time
|
19
|
+
num_secs = @timestamp / 1000000000
|
20
|
+
fractional_usecs = (@timestamp % 1000000000).to_f / 1000
|
21
|
+
Time.at(num_secs, fractional_usecs)
|
22
|
+
end
|
23
|
+
end
|
data/loggregator_emitter.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "loggregator_emitter"
|
5
|
-
spec.version = '0.0.
|
5
|
+
spec.version = '0.0.13.pre'
|
6
6
|
spec.authors = ["Pivotal"]
|
7
7
|
spec.email = ["cf-eng@pivotallabs.com"]
|
8
8
|
spec.description = "Library to emit data to Loggregator"
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
|
18
18
|
spec.required_ruby_version = Gem::Requirement.new(">= 1.9.3")
|
19
19
|
|
20
|
-
spec.add_dependency "
|
20
|
+
spec.add_dependency "beefcake", "~> 0.3.7"
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
23
|
spec.add_development_dependency "rake", "~> 10.1.0"
|
@@ -0,0 +1,114 @@
|
|
1
|
+
require "rspec"
|
2
|
+
require "loggregator_emitter"
|
3
|
+
|
4
|
+
describe LogMessage do
|
5
|
+
describe "#message_type_name" do
|
6
|
+
it "returns STDOUT for type == 1" do
|
7
|
+
msg = LogMessage.new(
|
8
|
+
{
|
9
|
+
:message => "thesearebytes",
|
10
|
+
:message_type => 1,
|
11
|
+
:timestamp => 3,
|
12
|
+
:source_type => 3
|
13
|
+
})
|
14
|
+
|
15
|
+
expect(msg.message_type_name).to eq("STDOUT")
|
16
|
+
end
|
17
|
+
|
18
|
+
it "returns STDERR for type == 2" do
|
19
|
+
msg = LogMessage.new(
|
20
|
+
{
|
21
|
+
:message => "thesearebytes",
|
22
|
+
:message_type => 2,
|
23
|
+
:timestamp => 3,
|
24
|
+
:source_type => 3
|
25
|
+
})
|
26
|
+
|
27
|
+
expect(msg.message_type_name).to eq("STDERR")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "#source_type_name" do
|
32
|
+
it "returns CloudController for type == 1" do
|
33
|
+
msg = LogMessage.new(
|
34
|
+
{
|
35
|
+
:message => "thesearebytes",
|
36
|
+
:message_type => 1,
|
37
|
+
:timestamp => 3,
|
38
|
+
:source_type => 1
|
39
|
+
})
|
40
|
+
|
41
|
+
expect(msg.source_type_name).to eq("CF[CC]")
|
42
|
+
end
|
43
|
+
|
44
|
+
it "returns Router for type == 2" do
|
45
|
+
msg = LogMessage.new(
|
46
|
+
{
|
47
|
+
:message => "thesearebytes",
|
48
|
+
:message_type => 2,
|
49
|
+
:timestamp => 3,
|
50
|
+
:source_type => 2
|
51
|
+
})
|
52
|
+
|
53
|
+
expect(msg.source_type_name).to eq("CF[Router]")
|
54
|
+
end
|
55
|
+
it "returns UAA for type == 3" do
|
56
|
+
msg = LogMessage.new(
|
57
|
+
{
|
58
|
+
:message => "thesearebytes",
|
59
|
+
:message_type => 2,
|
60
|
+
:timestamp => 3,
|
61
|
+
:source_type => 3
|
62
|
+
})
|
63
|
+
|
64
|
+
expect(msg.source_type_name).to eq("CF[UAA]")
|
65
|
+
end
|
66
|
+
it "returns DEA for type == 4" do
|
67
|
+
msg = LogMessage.new(
|
68
|
+
{
|
69
|
+
:message => "thesearebytes",
|
70
|
+
:message_type => 2,
|
71
|
+
:timestamp => 3,
|
72
|
+
:source_type => 4
|
73
|
+
})
|
74
|
+
|
75
|
+
expect(msg.source_type_name).to eq("CF[DEA]")
|
76
|
+
end
|
77
|
+
it "returns WardenContainer for type == 5" do
|
78
|
+
msg = LogMessage.new(
|
79
|
+
{
|
80
|
+
:message => "thesearebytes",
|
81
|
+
:message_type => 2,
|
82
|
+
:timestamp => 3,
|
83
|
+
:source_type => 5
|
84
|
+
})
|
85
|
+
|
86
|
+
expect(msg.source_type_name).to eq("App")
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "#time=" do
|
91
|
+
it "takes a time object" do
|
92
|
+
msg = LogMessage.new
|
93
|
+
msg.time = Time.utc(2010, 1, 20, 19, 18, 17.654321011)
|
94
|
+
|
95
|
+
expect(msg.timestamp).to eq 1264015097654321011
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "#time" do
|
100
|
+
it "returns a time object" do
|
101
|
+
msg = LogMessage.new
|
102
|
+
msg.timestamp = 1264015097654321011
|
103
|
+
|
104
|
+
expect(msg.time).to be_a Time
|
105
|
+
end
|
106
|
+
|
107
|
+
it "returns a time object with nanosecond precision" do
|
108
|
+
msg = LogMessage.new
|
109
|
+
msg.timestamp = 1264015097654321011
|
110
|
+
|
111
|
+
expect(msg.time.tv_nsec).to eq 654321011
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loggregator_emitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13.pre
|
5
5
|
prerelease: 7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,16 +9,16 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-10-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: beefcake
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.3.7
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.3.7
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: bundler
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,8 +91,12 @@ files:
|
|
91
91
|
- Rakefile
|
92
92
|
- lib/loggregator_emitter.rb
|
93
93
|
- lib/loggregator_emitter/emit.rb
|
94
|
+
- lib/loggregator_messages/log_message.pb.rb
|
95
|
+
- lib/loggregator_messages/log_message.proto
|
96
|
+
- lib/loggregator_messages/log_message_extender.rb
|
94
97
|
- loggregator_emitter.gemspec
|
95
98
|
- spec/loggregator_emitter/emit_spec.rb
|
99
|
+
- spec/loggregator_emitter/log_message_extender_spec.rb
|
96
100
|
- spec/support/fake_loggregator_server.rb
|
97
101
|
homepage: https://www.github.com/cloudfoundry/loggregator_emitter
|
98
102
|
licenses:
|
@@ -121,4 +125,5 @@ specification_version: 3
|
|
121
125
|
summary: Library to emit data to Loggregator
|
122
126
|
test_files:
|
123
127
|
- spec/loggregator_emitter/emit_spec.rb
|
128
|
+
- spec/loggregator_emitter/log_message_extender_spec.rb
|
124
129
|
- spec/support/fake_loggregator_server.rb
|