|
12 | 12 | # See the License for the specific language governing permissions and
|
13 | 13 | # limitations under the License.
|
14 | 14 |
|
15 |
| -from timeit import default_timer |
16 |
| - |
17 | 15 | import urllib3
|
18 |
| -import urllib3.exceptions |
19 |
| -from urllib3.request import encode_multipart_formdata |
20 | 16 |
|
21 | 17 | from opentelemetry import trace
|
22 | 18 | from opentelemetry.instrumentation.urllib3 import URLLib3Instrumentor
|
@@ -87,136 +83,3 @@ def assert_success_span(
|
87 | 83 | "net.peer.ip": self.assert_ip,
|
88 | 84 | }
|
89 | 85 | self.assertGreaterEqual(span.attributes.items(), attributes.items())
|
90 |
| - |
91 |
| - |
92 |
| -class TestURLLib3InstrumentorMetric(HttpTestBase, TestBase): |
93 |
| - def setUp(self): |
94 |
| - super().setUp() |
95 |
| - self.assert_ip = self.server.server_address[0] |
96 |
| - self.assert_port = self.server.server_address[1] |
97 |
| - self.http_host = ":".join(map(str, self.server.server_address[:2])) |
98 |
| - self.http_url_base = "http://" + self.http_host |
99 |
| - self.http_url = self.http_url_base + "/status/200" |
100 |
| - URLLib3Instrumentor().instrument(meter_provider=self.meter_provider) |
101 |
| - |
102 |
| - def tearDown(self): |
103 |
| - super().tearDown() |
104 |
| - URLLib3Instrumentor().uninstrument() |
105 |
| - |
106 |
| - def test_metric_uninstrument(self): |
107 |
| - with urllib3.PoolManager() as pool: |
108 |
| - pool.request("GET", self.http_url) |
109 |
| - URLLib3Instrumentor().uninstrument() |
110 |
| - pool.request("GET", self.http_url) |
111 |
| - |
112 |
| - metrics_list = self.memory_metrics_reader.get_metrics_data() |
113 |
| - for resource_metric in metrics_list.resource_metrics: |
114 |
| - for scope_metric in resource_metric.scope_metrics: |
115 |
| - for metric in scope_metric.metrics: |
116 |
| - for point in list(metric.data.data_points): |
117 |
| - self.assertEqual(point.count, 1) |
118 |
| - |
119 |
| - def test_basic_metric_check_client_size_get(self): |
120 |
| - with urllib3.PoolManager() as pool: |
121 |
| - start_time = default_timer() |
122 |
| - response = pool.request("GET", self.http_url) |
123 |
| - client_duration_estimated = (default_timer() - start_time) * 1000 |
124 |
| - |
125 |
| - expected_attributes = { |
126 |
| - "http.status_code": 200, |
127 |
| - "http.host": self.assert_ip, |
128 |
| - "http.method": "GET", |
129 |
| - "http.flavor": "1.1", |
130 |
| - "http.scheme": "http", |
131 |
| - "net.peer.name": self.assert_ip, |
132 |
| - "net.peer.port": self.assert_port, |
133 |
| - } |
134 |
| - expected_data = { |
135 |
| - "http.client.request.size": 0, |
136 |
| - "http.client.response.size": len(response.data), |
137 |
| - } |
138 |
| - expected_metrics = [ |
139 |
| - "http.client.duration", |
140 |
| - "http.client.request.size", |
141 |
| - "http.client.response.size", |
142 |
| - ] |
143 |
| - |
144 |
| - resource_metrics = ( |
145 |
| - self.memory_metrics_reader.get_metrics_data().resource_metrics |
146 |
| - ) |
147 |
| - for metrics in resource_metrics: |
148 |
| - for scope_metrics in metrics.scope_metrics: |
149 |
| - self.assertEqual(len(scope_metrics.metrics), 3) |
150 |
| - for metric in scope_metrics.metrics: |
151 |
| - for data_point in metric.data.data_points: |
152 |
| - if metric.name in expected_data: |
153 |
| - self.assertEqual( |
154 |
| - data_point.sum, expected_data[metric.name] |
155 |
| - ) |
156 |
| - if metric.name == "http.client.duration": |
157 |
| - self.assertAlmostEqual( |
158 |
| - data_point.sum, |
159 |
| - client_duration_estimated, |
160 |
| - delta=1000, |
161 |
| - ) |
162 |
| - self.assertIn(metric.name, expected_metrics) |
163 |
| - self.assertDictEqual( |
164 |
| - expected_attributes, |
165 |
| - dict(data_point.attributes), |
166 |
| - ) |
167 |
| - self.assertEqual(data_point.count, 1) |
168 |
| - |
169 |
| - def test_basic_metric_check_client_size_post(self): |
170 |
| - with urllib3.PoolManager() as pool: |
171 |
| - start_time = default_timer() |
172 |
| - data_fields = {"data": "test"} |
173 |
| - response = pool.request("POST", self.http_url, fields=data_fields) |
174 |
| - client_duration_estimated = (default_timer() - start_time) * 1000 |
175 |
| - |
176 |
| - expected_attributes = { |
177 |
| - "http.status_code": 501, |
178 |
| - "http.host": self.assert_ip, |
179 |
| - "http.method": "POST", |
180 |
| - "http.flavor": "1.1", |
181 |
| - "http.scheme": "http", |
182 |
| - "net.peer.name": self.assert_ip, |
183 |
| - "net.peer.port": self.assert_port, |
184 |
| - } |
185 |
| - |
186 |
| - body = encode_multipart_formdata(data_fields)[0] |
187 |
| - |
188 |
| - expected_data = { |
189 |
| - "http.client.request.size": len(body), |
190 |
| - "http.client.response.size": len(response.data), |
191 |
| - } |
192 |
| - expected_metrics = [ |
193 |
| - "http.client.duration", |
194 |
| - "http.client.request.size", |
195 |
| - "http.client.response.size", |
196 |
| - ] |
197 |
| - |
198 |
| - resource_metrics = ( |
199 |
| - self.memory_metrics_reader.get_metrics_data().resource_metrics |
200 |
| - ) |
201 |
| - for metrics in resource_metrics: |
202 |
| - for scope_metrics in metrics.scope_metrics: |
203 |
| - self.assertEqual(len(scope_metrics.metrics), 3) |
204 |
| - for metric in scope_metrics.metrics: |
205 |
| - for data_point in metric.data.data_points: |
206 |
| - if metric.name in expected_data: |
207 |
| - self.assertEqual( |
208 |
| - data_point.sum, expected_data[metric.name] |
209 |
| - ) |
210 |
| - if metric.name == "http.client.duration": |
211 |
| - self.assertAlmostEqual( |
212 |
| - data_point.sum, |
213 |
| - client_duration_estimated, |
214 |
| - delta=1000, |
215 |
| - ) |
216 |
| - self.assertIn(metric.name, expected_metrics) |
217 |
| - |
218 |
| - self.assertDictEqual( |
219 |
| - expected_attributes, |
220 |
| - dict(data_point.attributes), |
221 |
| - ) |
222 |
| - self.assertEqual(data_point.count, 1) |
0 commit comments