Skip to content

Commit 77d52d3

Browse files
authored
Remove: tracers (APM) for all protocols (#23)
Having a tracer on every packet send/received has a non-zero impact on CPU usage, and we do almost nothing with the results.
1 parent 9236faa commit 77d52d3

File tree

7 files changed

+6
-86
lines changed

7 files changed

+6
-86
lines changed

openttd_protocol/protocol/content.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import logging
33
import struct
44

5-
from .. import tracer
65
from ..wire.exceptions import PacketInvalidData
76
from ..wire.read import (
87
read_string,
@@ -72,7 +71,6 @@ class ContentProtocol(TCPProtocol):
7271
PACKET_END = PacketContentType.PACKET_CONTENT_END
7372

7473
@staticmethod
75-
@tracer.traced("content")
7674
def receive_PACKET_CONTENT_CLIENT_INFO_LIST(source, data):
7775
content_type, data = read_uint8(data)
7876
openttd_version, data = read_uint32(data)
@@ -143,7 +141,6 @@ def _receive_client_info(data, count, has_content_id=False, has_content_type_and
143141
return content_infos, data
144142

145143
@classmethod
146-
@tracer.traced("content")
147144
def receive_PACKET_CONTENT_CLIENT_INFO_ID(cls, source, data):
148145
count, data = read_uint16(data)
149146

@@ -155,7 +152,6 @@ def receive_PACKET_CONTENT_CLIENT_INFO_ID(cls, source, data):
155152
return {"content_infos": content_infos}
156153

157154
@classmethod
158-
@tracer.traced("content")
159155
def receive_PACKET_CONTENT_CLIENT_INFO_EXTID(cls, source, data):
160156
count, data = read_uint8(data)
161157

@@ -167,7 +163,6 @@ def receive_PACKET_CONTENT_CLIENT_INFO_EXTID(cls, source, data):
167163
return {"content_infos": content_infos}
168164

169165
@classmethod
170-
@tracer.traced("content")
171166
def receive_PACKET_CONTENT_CLIENT_INFO_EXTID_MD5(cls, source, data):
172167
count, data = read_uint8(data)
173168

@@ -181,7 +176,6 @@ def receive_PACKET_CONTENT_CLIENT_INFO_EXTID_MD5(cls, source, data):
181176
return {"content_infos": content_infos}
182177

183178
@classmethod
184-
@tracer.traced("content")
185179
def receive_PACKET_CONTENT_CLIENT_CONTENT(cls, source, data):
186180
count, data = read_uint16(data)
187181

@@ -192,7 +186,6 @@ def receive_PACKET_CONTENT_CLIENT_CONTENT(cls, source, data):
192186

193187
return {"content_infos": content_infos}
194188

195-
@tracer.traced("content")
196189
async def send_PACKET_CONTENT_SERVER_INFO(
197190
self, content_type, content_id, filesize, name, version, url, description, unique_id, md5sum, dependencies, tags
198191
):
@@ -234,7 +227,6 @@ async def send_PACKET_CONTENT_SERVER_INFO(
234227
write_presend(data, SEND_TCP_COMPAT_MTU)
235228
await self.send_packet(data)
236229

237-
@tracer.traced("content")
238230
async def send_PACKET_CONTENT_SERVER_CONTENT(self, content_type, content_id, filesize, filename, stream):
239231
# First, send a packet to tell the client it will be receiving a file
240232
data = write_init(PacketContentType.PACKET_CONTENT_SERVER_CONTENT)

openttd_protocol/protocol/coordinator.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import enum
22
import logging
33

4-
from .. import tracer
54
from ..wire.exceptions import PacketInvalidData
65
from ..wire.read import (
76
read_bytes,
@@ -95,7 +94,6 @@ class CoordinatorProtocol(TCPProtocol):
9594
PACKET_END = PacketCoordinatorType.PACKET_COORDINATOR_END
9695

9796
@staticmethod
98-
@tracer.traced("coordinator")
9997
def receive_PACKET_COORDINATOR_SERVER_REGISTER(source, data):
10098
protocol_version, data = read_uint8(data)
10199

@@ -130,7 +128,6 @@ def receive_PACKET_COORDINATOR_SERVER_REGISTER(source, data):
130128
}
131129

132130
@staticmethod
133-
@tracer.traced("coordinator")
134131
def receive_PACKET_COORDINATOR_SERVER_UPDATE(source, data):
135132
protocol_version, data = read_uint8(data)
136133

@@ -243,7 +240,6 @@ def receive_PACKET_COORDINATOR_SERVER_UPDATE(source, data):
243240
}
244241

245242
@staticmethod
246-
@tracer.traced("coordinator")
247243
def receive_PACKET_COORDINATOR_CLIENT_LISTING(source, data):
248244
protocol_version, data = read_uint8(data)
249245

@@ -272,7 +268,6 @@ def receive_PACKET_COORDINATOR_CLIENT_LISTING(source, data):
272268
}
273269

274270
@staticmethod
275-
@tracer.traced("coordinator")
276271
def receive_PACKET_COORDINATOR_CLIENT_CONNECT(source, data):
277272
protocol_version, data = read_uint8(data)
278273

@@ -290,7 +285,6 @@ def receive_PACKET_COORDINATOR_CLIENT_CONNECT(source, data):
290285
}
291286

292287
@staticmethod
293-
@tracer.traced("coordinator")
294288
def receive_PACKET_COORDINATOR_SERCLI_CONNECT_FAILED(source, data):
295289
protocol_version, data = read_uint8(data)
296290

@@ -310,7 +304,6 @@ def receive_PACKET_COORDINATOR_SERCLI_CONNECT_FAILED(source, data):
310304
}
311305

312306
@staticmethod
313-
@tracer.traced("coordinator")
314307
def receive_PACKET_COORDINATOR_CLIENT_CONNECTED(source, data):
315308
protocol_version, data = read_uint8(data)
316309

@@ -328,7 +321,6 @@ def receive_PACKET_COORDINATOR_CLIENT_CONNECTED(source, data):
328321
}
329322

330323
@staticmethod
331-
@tracer.traced("coordinator")
332324
def receive_PACKET_COORDINATOR_SERCLI_STUN_RESULT(source, data):
333325
protocol_version, data = read_uint8(data)
334326

@@ -349,7 +341,6 @@ def receive_PACKET_COORDINATOR_SERCLI_STUN_RESULT(source, data):
349341
"result": result,
350342
}
351343

352-
@tracer.traced("coordinator")
353344
async def send_PACKET_COORDINATOR_GC_ERROR(self, protocol_version, error_no, error_detail):
354345
data = write_init(PacketCoordinatorType.PACKET_COORDINATOR_GC_ERROR)
355346

@@ -367,7 +358,6 @@ async def send_PACKET_COORDINATOR_GC_ERROR(self, protocol_version, error_no, err
367358
write_presend(data, SEND_TCP_MTU)
368359
await self.send_packet(data)
369360

370-
@tracer.traced("coordinator")
371361
async def send_PACKET_COORDINATOR_GC_REGISTER_ACK(
372362
self, protocol_version, connection_type, invite_code, invite_code_secret
373363
):
@@ -406,7 +396,6 @@ def _fill_NEWGRF_LOOKUP_PACKET(self, newgrf_lookup_table_cursor, newgrf_lookup_t
406396
if count != 0:
407397
yield count, data
408398

409-
@tracer.traced("coordinator")
410399
async def send_PACKET_COORDINATOR_GC_NEWGRF_LOOKUP(
411400
self, protocol_version, newgrf_lookup_table_cursor, newgrf_lookup_table
412401
):
@@ -424,7 +413,6 @@ async def send_PACKET_COORDINATOR_GC_NEWGRF_LOOKUP(
424413
write_presend(data, SEND_TCP_MTU)
425414
await self.send_packet(data)
426415

427-
@tracer.traced("coordinator")
428416
async def send_PACKET_COORDINATOR_GC_LISTING(
429417
self, protocol_version, game_info_version, servers, newgrf_lookup_table
430418
):
@@ -503,7 +491,6 @@ async def send_PACKET_COORDINATOR_GC_LISTING(
503491
write_presend(data, SEND_TCP_MTU)
504492
await self.send_packet(data)
505493

506-
@tracer.traced("coordinator")
507494
async def send_PACKET_COORDINATOR_GC_CONNECTING(self, protocol_version, token, invite_code):
508495
data = write_init(PacketCoordinatorType.PACKET_COORDINATOR_GC_CONNECTING)
509496

@@ -513,7 +500,6 @@ async def send_PACKET_COORDINATOR_GC_CONNECTING(self, protocol_version, token, i
513500
write_presend(data, SEND_TCP_MTU)
514501
await self.send_packet(data)
515502

516-
@tracer.traced("coordinator")
517503
async def send_PACKET_COORDINATOR_GC_CONNECT_FAILED(self, protocol_version, token):
518504
data = write_init(PacketCoordinatorType.PACKET_COORDINATOR_GC_CONNECT_FAILED)
519505

@@ -522,7 +508,6 @@ async def send_PACKET_COORDINATOR_GC_CONNECT_FAILED(self, protocol_version, toke
522508
write_presend(data, SEND_TCP_MTU)
523509
await self.send_packet(data)
524510

525-
@tracer.traced("coordinator")
526511
async def send_PACKET_COORDINATOR_GC_DIRECT_CONNECT(self, protocol_version, token, tracking_number, hostname, port):
527512
data = write_init(PacketCoordinatorType.PACKET_COORDINATOR_GC_DIRECT_CONNECT)
528513

@@ -534,7 +519,6 @@ async def send_PACKET_COORDINATOR_GC_DIRECT_CONNECT(self, protocol_version, toke
534519
write_presend(data, SEND_TCP_MTU)
535520
await self.send_packet(data)
536521

537-
@tracer.traced("coordinator")
538522
async def send_PACKET_COORDINATOR_GC_STUN_REQUEST(self, protocol_version, token):
539523
data = write_init(PacketCoordinatorType.PACKET_COORDINATOR_GC_STUN_REQUEST)
540524

@@ -543,7 +527,6 @@ async def send_PACKET_COORDINATOR_GC_STUN_REQUEST(self, protocol_version, token)
543527
write_presend(data, SEND_TCP_MTU)
544528
await self.send_packet(data)
545529

546-
@tracer.traced("coordinator")
547530
async def send_PACKET_COORDINATOR_GC_STUN_CONNECT(
548531
self, protocol_version, token, tracking_number, interface_number, hostname, port
549532
):
@@ -558,7 +541,6 @@ async def send_PACKET_COORDINATOR_GC_STUN_CONNECT(
558541
write_presend(data, SEND_TCP_MTU)
559542
await self.send_packet(data)
560543

561-
@tracer.traced("coordinator")
562544
async def send_PACKET_COORDINATOR_GC_TURN_CONNECT(
563545
self, protocol_version, token, tracking_number, ticket, connection_string
564546
):

openttd_protocol/protocol/game.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import enum
22
import logging
33

4-
from .. import tracer
54
from ..wire.exceptions import PacketInvalidData
65
from ..wire.read import (
76
read_bytes,
@@ -54,7 +53,6 @@ class GameProtocol(TCPProtocol):
5453
PACKET_END = PacketGameType.PACKET_END
5554

5655
@staticmethod
57-
@tracer.traced("game")
5856
def receive_PACKET_SERVER_GAME_INFO(source, data):
5957
game_info_version, data = read_uint8(data)
6058

@@ -160,14 +158,12 @@ def receive_PACKET_SERVER_GAME_INFO(source, data):
160158
}
161159

162160
@staticmethod
163-
@tracer.traced("game")
164161
def receive_PACKET_SERVER_SHUTDOWN(source, data):
165162
if len(data) != 0:
166163
raise PacketInvalidData("more bytes than expected in SERVER_SHUTDOWN; remaining: ", len(data))
167164

168165
return {}
169166

170-
@tracer.traced("game")
171167
async def send_PACKET_CLIENT_GAME_INFO(self):
172168
data = write_init(PacketGameType.PACKET_CLIENT_GAME_INFO)
173169
write_presend(data, SEND_TCP_MTU)

openttd_protocol/protocol/stun.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import enum
22
import logging
33

4-
from .. import tracer
54
from ..wire.exceptions import PacketInvalidData
65
from ..wire.read import (
76
read_string,
@@ -22,7 +21,6 @@ class StunProtocol(TCPProtocol):
2221
PACKET_END = PacketStunType.PACKET_STUN_END
2322

2423
@staticmethod
25-
@tracer.traced("stun")
2624
def receive_PACKET_STUN_SERCLI_STUN(source, data):
2725
protocol_version, data = read_uint8(data)
2826

openttd_protocol/protocol/turn.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import enum
22
import logging
33

4-
from .. import tracer
54
from ..wire.exceptions import PacketInvalidData
65
from ..wire.read import (
76
read_string,
@@ -30,7 +29,6 @@ class TurnProtocol(TCPProtocol):
3029
PACKET_END = PacketTurnType.PACKET_TURN_END
3130

3231
@staticmethod
33-
@tracer.traced("turn")
3432
def receive_PACKET_TURN_SERCLI_CONNECT(source, data):
3533
protocol_version, data = read_uint8(data)
3634

@@ -44,7 +42,6 @@ def receive_PACKET_TURN_SERCLI_CONNECT(source, data):
4442

4543
return {"protocol_version": protocol_version, "ticket": ticket}
4644

47-
@tracer.traced("turn")
4845
async def send_PACKET_TURN_TURN_CONNECTED(self, protocol_version, hostname):
4946
data = write_init(PacketTurnType.PACKET_TURN_TURN_CONNECTED)
5047

openttd_protocol/tracer.py

Lines changed: 0 additions & 38 deletions
This file was deleted.

openttd_protocol/wire/tcp.py

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
read_uint16,
1515
)
1616
from .source import Source
17-
from .. import tracer
1817

1918
log = logging.getLogger(__name__)
2019

@@ -174,17 +173,14 @@ async def _process_queue(self):
174173
if await self._callback.receive_raw(self.source, data):
175174
return
176175

177-
with tracer.tracer("tcp.receive-packet"):
178-
try:
179-
packet_type, kwargs = self.receive_packet(self.source, data)
180-
except PacketInvalid as err:
181-
log.info("Dropping invalid packet from %s:%d: %r", self.source.ip, self.source.port, err)
182-
raise SocketClosed
176+
try:
177+
packet_type, kwargs = self.receive_packet(self.source, data)
178+
except PacketInvalid as err:
179+
log.info("Dropping invalid packet from %s:%d: %r", self.source.ip, self.source.port, err)
180+
raise SocketClosed
183181

184-
with tracer.tracer("tcp.packet-handler"):
185-
await getattr(self._callback, f"receive_{packet_type.name}")(self.source, **kwargs)
182+
await getattr(self._callback, f"receive_{packet_type.name}")(self.source, **kwargs)
186183

187-
@tracer.traced("tcp")
188184
def receive_packet(self, source, data):
189185
# Check length of packet
190186
length, data = read_uint16(data)
@@ -202,13 +198,10 @@ def receive_packet(self, source, data):
202198
if func is None:
203199
raise PacketInvalidType(packet_type)
204200

205-
tracer.add_trace_field("command", f"receive.{packet_type.name}")
206-
207201
# Process this packet
208202
kwargs = func(source, data)
209203
return packet_type, kwargs
210204

211-
@tracer.traced("tcp")
212205
async def send_packet(self, data):
213206
await self._can_write.wait()
214207

0 commit comments

Comments
 (0)