@@ -54,7 +54,7 @@ def sync(self, since: SyncToken = None, timeout: int = 30000, filter_id: FilterI
54
54
request ["full_state" ] = "true" if full_state else "false"
55
55
if set_presence :
56
56
request ["set_presence" ] = str (set_presence )
57
- return self .api .request (Method .GET , Path .sync , query_params = request , retry_count = 0 )
57
+ return self .api .request (Method .GET , Path .sync , query_params = request , retry_count = 0 , metrics_method = "sync" )
58
58
59
59
# endregion
60
60
# region 8.3 Getting events for a room
@@ -76,7 +76,7 @@ async def get_event(self, room_id: RoomID, event_id: EventID) -> Event:
76
76
.. _/event/{eventId} API reference:
77
77
https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-rooms-roomid-event-eventid
78
78
"""
79
- content = await self .api .request (Method .GET , Path .rooms [room_id ].event [event_id ])
79
+ content = await self .api .request (Method .GET , Path .rooms [room_id ].event [event_id ], metrics_method = "getEvent" )
80
80
try :
81
81
return Event .deserialize (content )
82
82
except SerializerError as e :
@@ -102,7 +102,8 @@ async def get_state_event(self, room_id: RoomID, event_type: EventType,
102
102
https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-rooms-roomid-state-eventtype-statekey
103
103
"""
104
104
content = await self .api .request (Method .GET ,
105
- Path .rooms [room_id ].state [event_type ][state_key ])
105
+ Path .rooms [room_id ].state [event_type ][state_key ],
106
+ metrics_method = "getStateEvent" )
106
107
try :
107
108
return state_event_content_map [event_type ].deserialize (content )
108
109
except KeyError :
@@ -123,7 +124,7 @@ async def get_state(self, room_id: RoomID) -> List[StateEvent]:
123
124
.. _/state API reference:
124
125
https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-rooms-roomid-state
125
126
"""
126
- content = await self .api .request (Method .GET , Path .rooms [room_id ].state )
127
+ content = await self .api .request (Method .GET , Path .rooms [room_id ].state , metrics_method = "getState" )
127
128
try :
128
129
return [StateEvent .deserialize (event ) for event in content ]
129
130
except SerializerError as e :
@@ -161,7 +162,7 @@ async def get_members(self, room_id: RoomID, at: Optional[SyncToken] = None,
161
162
if not_membership :
162
163
query ["not_membership" ] = not_membership .value
163
164
content = await self .api .request (Method .GET , Path .rooms [room_id ].members ,
164
- query_params = query )
165
+ query_params = query , metrics_method = "getMembers" )
165
166
try :
166
167
return [StateEvent .deserialize (event ) for event in content ["chunk" ]]
167
168
except KeyError :
@@ -188,7 +189,7 @@ async def get_joined_members(self, room_id: RoomID) -> Dict[UserID, Member]:
188
189
.. _/members:
189
190
https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-rooms-roomid-members
190
191
"""
191
- content = await self .api .request (Method .GET , Path .rooms [room_id ].joined_members )
192
+ content = await self .api .request (Method .GET , Path .rooms [room_id ].joined_members , metrics_method = "getJoinedMembers" )
192
193
try :
193
194
return {user_id : Member (membership = Membership .JOIN ,
194
195
displayname = member .get ("display_name" , "" ),
@@ -234,7 +235,7 @@ async def get_messages(self, room_id: RoomID, direction: PaginationDirection,
234
235
"filter_json" : filter_json ,
235
236
}
236
237
content = await self .api .request (Method .GET , Path .rooms [room_id ].messages ,
237
- query_params = query_params )
238
+ query_params = query_params , metrics_method = "getMessages" )
238
239
try :
239
240
return PaginatedMessages (content ["start" ], content ["end" ],
240
241
[Event .deserialize (event ) for event in content ["chunk" ]])
@@ -276,7 +277,7 @@ async def send_state_event(self, room_id: RoomID, event_type: EventType,
276
277
"""
277
278
content = content .serialize () if isinstance (content , Serializable ) else content
278
279
resp = await self .api .request (Method .PUT , Path .rooms [room_id ].state [event_type ][state_key ],
279
- content , ** kwargs )
280
+ content , ** kwargs , metrics_method = "sendStateEvent" )
280
281
try :
281
282
return resp ["event_id" ]
282
283
except KeyError :
@@ -311,7 +312,7 @@ async def send_message_event(self, room_id: RoomID, event_type: EventType,
311
312
raise ValueError ("Event type not given" )
312
313
url = Path .rooms [room_id ].send [event_type ][txn_id or self .api .get_txn_id ()]
313
314
content = content .serialize () if isinstance (content , Serializable ) else content
314
- resp = await self .api .request (Method .PUT , url , content , ** kwargs )
315
+ resp = await self .api .request (Method .PUT , url , content , ** kwargs , metrics_method = "sendMessageEvent" )
315
316
try :
316
317
return resp ["event_id" ]
317
318
except KeyError :
@@ -515,7 +516,7 @@ async def redact(self, room_id: RoomID, event_id: EventID, reason: Optional[str]
515
516
https://matrix.org/docs/spec/client_server/r0.5.0#put-matrix-client-r0-rooms-roomid-redact-eventid-txnid
516
517
"""
517
518
url = Path .rooms [room_id ].redact [event_id ][self .api .get_txn_id ()]
518
- resp = await self .api .request (Method .PUT , url , content = {"reason" : reason }, ** kwargs )
519
+ resp = await self .api .request (Method .PUT , url , content = {"reason" : reason }, ** kwargs , metrics_method = "redact" )
519
520
try :
520
521
return resp ["event_id" ]
521
522
except KeyError :
0 commit comments