application_insights 0.5.3 → 0.5.4

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.
Files changed (82) hide show
  1. checksums.yaml +6 -14
  2. data/.travis.yml +21 -9
  3. data/CONTRIBUTING.md +30 -0
  4. data/Gemfile +4 -4
  5. data/LICENSE.txt +11 -11
  6. data/README.md +13 -14
  7. data/Rakefile +14 -14
  8. data/application_insights.gemspec +28 -29
  9. data/lib/application_insights.rb +9 -9
  10. data/lib/application_insights/channel/asynchronous_queue.rb +58 -51
  11. data/lib/application_insights/channel/asynchronous_sender.rb +132 -123
  12. data/lib/application_insights/channel/contracts/application.rb +14 -53
  13. data/lib/application_insights/channel/contracts/cloud.rb +14 -0
  14. data/lib/application_insights/channel/contracts/data.rb +14 -48
  15. data/lib/application_insights/channel/contracts/data_point.rb +24 -130
  16. data/lib/application_insights/channel/contracts/data_point_type.rb +7 -16
  17. data/lib/application_insights/channel/contracts/dependency_kind.rb +9 -19
  18. data/lib/application_insights/channel/contracts/dependency_source_type.rb +9 -19
  19. data/lib/application_insights/channel/contracts/device.rb +28 -257
  20. data/lib/application_insights/channel/contracts/envelope.rb +40 -266
  21. data/lib/application_insights/channel/contracts/event_data.rb +28 -77
  22. data/lib/application_insights/channel/contracts/exception_data.rb +37 -140
  23. data/lib/application_insights/channel/contracts/exception_details.rb +28 -129
  24. data/lib/application_insights/channel/contracts/internal.rb +14 -53
  25. data/lib/application_insights/channel/contracts/json_serializable.rb +59 -59
  26. data/lib/application_insights/channel/contracts/location.rb +16 -36
  27. data/lib/application_insights/channel/contracts/message_data.rb +24 -77
  28. data/lib/application_insights/channel/contracts/metric_data.rb +27 -60
  29. data/lib/application_insights/channel/contracts/operation.rb +19 -121
  30. data/lib/application_insights/channel/contracts/page_view_data.rb +30 -111
  31. data/lib/application_insights/channel/contracts/remote_dependency_data.rb +56 -260
  32. data/lib/application_insights/channel/contracts/request_data.rb +36 -176
  33. data/lib/application_insights/channel/contracts/session.rb +15 -70
  34. data/lib/application_insights/channel/contracts/severity_level.rb +13 -25
  35. data/lib/application_insights/channel/contracts/stack_frame.rb +17 -94
  36. data/lib/application_insights/channel/contracts/user.rb +19 -104
  37. data/lib/application_insights/channel/event.rb +68 -64
  38. data/lib/application_insights/channel/queue_base.rb +65 -62
  39. data/lib/application_insights/channel/sender_base.rb +79 -72
  40. data/lib/application_insights/channel/synchronous_queue.rb +45 -39
  41. data/lib/application_insights/channel/synchronous_sender.rb +17 -15
  42. data/lib/application_insights/channel/telemetry_channel.rb +120 -102
  43. data/lib/application_insights/channel/telemetry_context.rb +85 -68
  44. data/lib/application_insights/rack/track_request.rb +87 -84
  45. data/lib/application_insights/telemetry_client.rb +229 -217
  46. data/lib/application_insights/unhandled_exception.rb +49 -47
  47. data/lib/application_insights/version.rb +3 -3
  48. data/test/application_insights.rb +8 -9
  49. data/test/application_insights/channel/contracts/test_application.rb +44 -44
  50. data/test/application_insights/channel/contracts/test_cloud.rb +44 -0
  51. data/test/application_insights/channel/contracts/test_data.rb +44 -44
  52. data/test/application_insights/channel/contracts/test_data_point.rb +109 -109
  53. data/test/application_insights/channel/contracts/test_device.rb +200 -200
  54. data/test/application_insights/channel/contracts/test_envelope.rb +209 -209
  55. data/test/application_insights/channel/contracts/test_event_data.rb +62 -62
  56. data/test/application_insights/channel/contracts/test_exception_data.rb +111 -111
  57. data/test/application_insights/channel/contracts/test_exception_details.rb +106 -106
  58. data/test/application_insights/channel/contracts/test_internal.rb +44 -44
  59. data/test/application_insights/channel/contracts/test_location.rb +70 -31
  60. data/test/application_insights/channel/contracts/test_message_data.rb +66 -66
  61. data/test/application_insights/channel/contracts/test_metric_data.rb +50 -50
  62. data/test/application_insights/channel/contracts/test_operation.rb +109 -96
  63. data/test/application_insights/channel/contracts/test_page_view_data.rb +88 -88
  64. data/test/application_insights/channel/contracts/test_remote_dependency_data.rb +209 -209
  65. data/test/application_insights/channel/contracts/test_request_data.rb +153 -153
  66. data/test/application_insights/channel/contracts/test_session.rb +57 -57
  67. data/test/application_insights/channel/contracts/test_stack_frame.rb +83 -83
  68. data/test/application_insights/channel/contracts/test_user.rb +96 -83
  69. data/test/application_insights/channel/test_asynchronous_queue.rb +47 -47
  70. data/test/application_insights/channel/test_asynchronous_sender.rb +80 -80
  71. data/test/application_insights/channel/test_event.rb +52 -52
  72. data/test/application_insights/channel/test_queue_base.rb +88 -88
  73. data/test/application_insights/channel/test_sender_base.rb +87 -87
  74. data/test/application_insights/channel/test_synchronous_queue.rb +27 -27
  75. data/test/application_insights/channel/test_synchronous_sender.rb +10 -10
  76. data/test/application_insights/channel/test_telemetry_channel.rb +126 -102
  77. data/test/application_insights/channel/test_telemetry_context.rb +82 -74
  78. data/test/application_insights/mock_sender.rb +37 -37
  79. data/test/application_insights/rack/test_track_request.rb +142 -139
  80. data/test/application_insights/test_telemetry_client.rb +133 -123
  81. data/test/application_insights/test_unhandled_exception.rb +23 -24
  82. metadata +23 -33
@@ -1,3 +1,3 @@
1
- module ApplicationInsights
2
- VERSION = '0.5.3'
3
- end
1
+ module ApplicationInsights
2
+ VERSION = '0.5.4'
3
+ end
@@ -1,9 +1,8 @@
1
- require 'find'
2
-
3
- test = File.expand_path('../application_insights', __FILE__)
4
- Find.find test do |path|
5
- if FileTest.file? path
6
- require path
7
- end
8
- end
9
-
1
+ require 'find'
2
+
3
+ test = File.expand_path('../application_insights', __FILE__)
4
+ Find.find test do |path|
5
+ if FileTest.file? path
6
+ require path
7
+ end
8
+ end
@@ -1,44 +1,44 @@
1
- require_relative '../../../../lib/application_insights/channel/contracts/application'
2
- require 'test/unit'
3
-
4
- include ApplicationInsights::Channel
5
-
6
- class TestApplication < Test::Unit::TestCase
7
- def test_initialize
8
- item = Contracts::Application.new
9
- assert_not_nil item
10
- end
11
-
12
- def test_ver_works_as_expected
13
- expected = 'Test string'
14
- item = Contracts::Application.new
15
- item.ver = expected
16
- actual = item.ver
17
- assert_equal expected, actual
18
- expected = 'Other string'
19
- item.ver = expected
20
- actual = item.ver
21
- assert_equal expected, actual
22
- end
23
-
24
- def test_build_works_as_expected
25
- expected = 'Test string'
26
- item = Contracts::Application.new
27
- item.build = expected
28
- actual = item.build
29
- assert_equal expected, actual
30
- expected = 'Other string'
31
- item.build = expected
32
- actual = item.build
33
- assert_equal expected, actual
34
- end
35
-
36
- def test_to_json_works_as_expected
37
- item = Contracts::Application.new
38
- item.ver = 'Test string'
39
- item.build = 'Test string'
40
- actual = item.to_json
41
- expected = '{"ai.application.ver":"Test string","ai.application.build":"Test string"}'
42
- assert_equal expected, actual
43
- end
44
- end
1
+ require_relative '../../../../lib/application_insights/channel/contracts/application'
2
+ require 'test/unit'
3
+
4
+ include ApplicationInsights::Channel
5
+
6
+ class TestApplication < Test::Unit::TestCase
7
+ def test_initialize
8
+ item = Contracts::Application.new
9
+ assert_not_nil item
10
+ end
11
+
12
+ def test_ver_works_as_expected
13
+ expected = 'Test string'
14
+ item = Contracts::Application.new
15
+ item.ver = expected
16
+ actual = item.ver
17
+ assert_equal expected, actual
18
+ expected = 'Other string'
19
+ item.ver = expected
20
+ actual = item.ver
21
+ assert_equal expected, actual
22
+ end
23
+
24
+ def test_build_works_as_expected
25
+ expected = 'Test string'
26
+ item = Contracts::Application.new
27
+ item.build = expected
28
+ actual = item.build
29
+ assert_equal expected, actual
30
+ expected = 'Other string'
31
+ item.build = expected
32
+ actual = item.build
33
+ assert_equal expected, actual
34
+ end
35
+
36
+ def test_to_json_works_as_expected
37
+ item = Contracts::Application.new
38
+ item.ver = 'Test string'
39
+ item.build = 'Test string'
40
+ actual = item.to_json
41
+ expected = '{"ai.application.ver":"Test string","ai.application.build":"Test string"}'
42
+ assert_equal expected, actual
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ require_relative '../../../../lib/application_insights/channel/contracts/cloud'
2
+ require 'test/unit'
3
+
4
+ include ApplicationInsights::Channel
5
+
6
+ class TestCloud < Test::Unit::TestCase
7
+ def test_initialize
8
+ item = Contracts::Cloud.new
9
+ assert_not_nil item
10
+ end
11
+
12
+ def test_role_name_works_as_expected
13
+ expected = 'Test string'
14
+ item = Contracts::Cloud.new
15
+ item.role_name = expected
16
+ actual = item.role_name
17
+ assert_equal expected, actual
18
+ expected = 'Other string'
19
+ item.role_name = expected
20
+ actual = item.role_name
21
+ assert_equal expected, actual
22
+ end
23
+
24
+ def test_role_instance_works_as_expected
25
+ expected = 'Test string'
26
+ item = Contracts::Cloud.new
27
+ item.role_instance = expected
28
+ actual = item.role_instance
29
+ assert_equal expected, actual
30
+ expected = 'Other string'
31
+ item.role_instance = expected
32
+ actual = item.role_instance
33
+ assert_equal expected, actual
34
+ end
35
+
36
+ def test_to_json_works_as_expected
37
+ item = Contracts::Cloud.new
38
+ item.role_name = 'Role name'
39
+ item.role_instance = 'Role instance'
40
+ actual = item.to_json
41
+ expected = '{"ai.cloud.role":"Role name","ai.cloud.roleInstance":"Role instance"}'
42
+ assert_equal expected, actual
43
+ end
44
+ end
@@ -1,44 +1,44 @@
1
- require_relative '../../../../lib/application_insights/channel/contracts/data'
2
- require 'test/unit'
3
-
4
- include ApplicationInsights::Channel
5
-
6
- class TestData < Test::Unit::TestCase
7
- def test_initialize
8
- item = Contracts::Data.new
9
- assert_not_nil item
10
- end
11
-
12
- def test_base_type_works_as_expected
13
- expected = 'Test string'
14
- item = Contracts::Data.new
15
- item.base_type = expected
16
- actual = item.base_type
17
- assert_equal expected, actual
18
- expected = 'Other string'
19
- item.base_type = expected
20
- actual = item.base_type
21
- assert_equal expected, actual
22
- end
23
-
24
- def test_base_data_works_as_expected
25
- expected = { 'key' => 'value' }
26
- item = Contracts::Data.new
27
- item.base_data = expected
28
- actual = item.base_data
29
- assert_equal expected, actual
30
- expected = { 'key' => 'value' }
31
- item.base_data = expected
32
- actual = item.base_data
33
- assert_equal expected, actual
34
- end
35
-
36
- def test_to_json_works_as_expected
37
- item = Contracts::Data.new
38
- item.base_type = 'Test string'
39
- item.base_data = { 'key' => 'value' }
40
- actual = item.to_json
41
- expected = '{"baseType":"Test string","baseData":{"key":"value"}}'
42
- assert_equal expected, actual
43
- end
44
- end
1
+ require_relative '../../../../lib/application_insights/channel/contracts/data'
2
+ require 'test/unit'
3
+
4
+ include ApplicationInsights::Channel
5
+
6
+ class TestData < Test::Unit::TestCase
7
+ def test_initialize
8
+ item = Contracts::Data.new
9
+ assert_not_nil item
10
+ end
11
+
12
+ def test_base_type_works_as_expected
13
+ expected = 'Test string'
14
+ item = Contracts::Data.new
15
+ item.base_type = expected
16
+ actual = item.base_type
17
+ assert_equal expected, actual
18
+ expected = 'Other string'
19
+ item.base_type = expected
20
+ actual = item.base_type
21
+ assert_equal expected, actual
22
+ end
23
+
24
+ def test_base_data_works_as_expected
25
+ expected = { 'key' => 'value' }
26
+ item = Contracts::Data.new
27
+ item.base_data = expected
28
+ actual = item.base_data
29
+ assert_equal expected, actual
30
+ expected = { 'key' => 'value' }
31
+ item.base_data = expected
32
+ actual = item.base_data
33
+ assert_equal expected, actual
34
+ end
35
+
36
+ def test_to_json_works_as_expected
37
+ item = Contracts::Data.new
38
+ item.base_type = 'Test string'
39
+ item.base_data = { 'key' => 'value' }
40
+ actual = item.to_json
41
+ expected = '{"baseType":"Test string","baseData":{"key":"value"}}'
42
+ assert_equal expected, actual
43
+ end
44
+ end
@@ -1,109 +1,109 @@
1
- require_relative '../../../../lib/application_insights/channel/contracts/data_point'
2
- require 'test/unit'
3
-
4
- include ApplicationInsights::Channel
5
-
6
- class TestDataPoint < Test::Unit::TestCase
7
- def test_initialize
8
- item = Contracts::DataPoint.new
9
- assert_not_nil item
10
- end
11
-
12
- def test_name_works_as_expected
13
- expected = 'Test string'
14
- item = Contracts::DataPoint.new
15
- item.name = expected
16
- actual = item.name
17
- assert_equal expected, actual
18
- expected = 'Other string'
19
- item.name = expected
20
- actual = item.name
21
- assert_equal expected, actual
22
- end
23
-
24
- def test_kind_works_as_expected
25
- expected = 5
26
- item = Contracts::DataPoint.new
27
- item.kind = expected
28
- actual = item.kind
29
- assert_equal expected, actual
30
- expected = 3
31
- item.kind = expected
32
- actual = item.kind
33
- assert_equal expected, actual
34
- end
35
-
36
- def test_value_works_as_expected
37
- expected = 1.5
38
- item = Contracts::DataPoint.new
39
- item.value = expected
40
- actual = item.value
41
- assert_equal expected, actual
42
- expected = 4.8
43
- item.value = expected
44
- actual = item.value
45
- assert_equal expected, actual
46
- end
47
-
48
- def test_count_works_as_expected
49
- expected = 42
50
- item = Contracts::DataPoint.new
51
- item.count = expected
52
- actual = item.count
53
- assert_equal expected, actual
54
- expected = 13
55
- item.count = expected
56
- actual = item.count
57
- assert_equal expected, actual
58
- end
59
-
60
- def test_min_works_as_expected
61
- expected = 1.5
62
- item = Contracts::DataPoint.new
63
- item.min = expected
64
- actual = item.min
65
- assert_equal expected, actual
66
- expected = 4.8
67
- item.min = expected
68
- actual = item.min
69
- assert_equal expected, actual
70
- end
71
-
72
- def test_max_works_as_expected
73
- expected = 1.5
74
- item = Contracts::DataPoint.new
75
- item.max = expected
76
- actual = item.max
77
- assert_equal expected, actual
78
- expected = 4.8
79
- item.max = expected
80
- actual = item.max
81
- assert_equal expected, actual
82
- end
83
-
84
- def test_std_dev_works_as_expected
85
- expected = 1.5
86
- item = Contracts::DataPoint.new
87
- item.std_dev = expected
88
- actual = item.std_dev
89
- assert_equal expected, actual
90
- expected = 4.8
91
- item.std_dev = expected
92
- actual = item.std_dev
93
- assert_equal expected, actual
94
- end
95
-
96
- def test_to_json_works_as_expected
97
- item = Contracts::DataPoint.new
98
- item.name = 'Test string'
99
- item.kind = 5
100
- item.value = 1.5
101
- item.count = 42
102
- item.min = 1.5
103
- item.max = 1.5
104
- item.std_dev = 1.5
105
- actual = item.to_json
106
- expected = '{"name":"Test string","kind":5,"value":1.5,"count":42,"min":1.5,"max":1.5,"stdDev":1.5}'
107
- assert_equal expected, actual
108
- end
109
- end
1
+ require_relative '../../../../lib/application_insights/channel/contracts/data_point'
2
+ require 'test/unit'
3
+
4
+ include ApplicationInsights::Channel
5
+
6
+ class TestDataPoint < Test::Unit::TestCase
7
+ def test_initialize
8
+ item = Contracts::DataPoint.new
9
+ assert_not_nil item
10
+ end
11
+
12
+ def test_name_works_as_expected
13
+ expected = 'Test string'
14
+ item = Contracts::DataPoint.new
15
+ item.name = expected
16
+ actual = item.name
17
+ assert_equal expected, actual
18
+ expected = 'Other string'
19
+ item.name = expected
20
+ actual = item.name
21
+ assert_equal expected, actual
22
+ end
23
+
24
+ def test_kind_works_as_expected
25
+ expected = 5
26
+ item = Contracts::DataPoint.new
27
+ item.kind = expected
28
+ actual = item.kind
29
+ assert_equal expected, actual
30
+ expected = 3
31
+ item.kind = expected
32
+ actual = item.kind
33
+ assert_equal expected, actual
34
+ end
35
+
36
+ def test_value_works_as_expected
37
+ expected = 1.5
38
+ item = Contracts::DataPoint.new
39
+ item.value = expected
40
+ actual = item.value
41
+ assert_equal expected, actual
42
+ expected = 4.8
43
+ item.value = expected
44
+ actual = item.value
45
+ assert_equal expected, actual
46
+ end
47
+
48
+ def test_count_works_as_expected
49
+ expected = 42
50
+ item = Contracts::DataPoint.new
51
+ item.count = expected
52
+ actual = item.count
53
+ assert_equal expected, actual
54
+ expected = 13
55
+ item.count = expected
56
+ actual = item.count
57
+ assert_equal expected, actual
58
+ end
59
+
60
+ def test_min_works_as_expected
61
+ expected = 1.5
62
+ item = Contracts::DataPoint.new
63
+ item.min = expected
64
+ actual = item.min
65
+ assert_equal expected, actual
66
+ expected = 4.8
67
+ item.min = expected
68
+ actual = item.min
69
+ assert_equal expected, actual
70
+ end
71
+
72
+ def test_max_works_as_expected
73
+ expected = 1.5
74
+ item = Contracts::DataPoint.new
75
+ item.max = expected
76
+ actual = item.max
77
+ assert_equal expected, actual
78
+ expected = 4.8
79
+ item.max = expected
80
+ actual = item.max
81
+ assert_equal expected, actual
82
+ end
83
+
84
+ def test_std_dev_works_as_expected
85
+ expected = 1.5
86
+ item = Contracts::DataPoint.new
87
+ item.std_dev = expected
88
+ actual = item.std_dev
89
+ assert_equal expected, actual
90
+ expected = 4.8
91
+ item.std_dev = expected
92
+ actual = item.std_dev
93
+ assert_equal expected, actual
94
+ end
95
+
96
+ def test_to_json_works_as_expected
97
+ item = Contracts::DataPoint.new
98
+ item.name = 'Test string'
99
+ item.kind = 5
100
+ item.value = 1.5
101
+ item.count = 42
102
+ item.min = 1.5
103
+ item.max = 1.5
104
+ item.std_dev = 1.5
105
+ actual = item.to_json
106
+ expected = '{"name":"Test string","kind":5,"value":1.5,"count":42,"min":1.5,"max":1.5,"stdDev":1.5}'
107
+ assert_equal expected, actual
108
+ end
109
+ end