File tree 2 files changed +11
-2
lines changed
2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change 2
2
import uuid
3
3
import random
4
4
from datetime import datetime
5
+ from itertools import islice
5
6
import socket
6
7
7
8
from sentry_sdk ._compat import string_types , text_type , iteritems
@@ -99,10 +100,15 @@ def _init_impl(self):
99
100
def _send_sessions (sessions ):
100
101
# type: (List[Any]) -> None
101
102
transport = self .transport
102
- if sessions and transport :
103
+ if not transport or not sessions :
104
+ return
105
+ sessions_iter = iter (sessions )
106
+ while True :
103
107
envelope = Envelope ()
104
- for session in sessions :
108
+ for session in islice ( sessions_iter , 100 ) :
105
109
envelope .add_session (session )
110
+ if not envelope .items :
111
+ break
106
112
transport .capture_envelope (envelope )
107
113
108
114
try :
Original file line number Diff line number Diff line change @@ -170,6 +170,7 @@ def update(
170
170
sid = None , # type: Optional[Union[str, uuid.UUID]]
171
171
did = None , # type: Optional[str]
172
172
timestamp = None , # type: Optional[datetime]
173
+ started = None , # type: Optional[datetime]
173
174
duration = None , # type: Optional[float]
174
175
status = None , # type: Optional[SessionStatus]
175
176
release = None , # type: Optional[str]
@@ -194,6 +195,8 @@ def update(
194
195
if timestamp is None :
195
196
timestamp = datetime .utcnow ()
196
197
self .timestamp = timestamp
198
+ if started is not None :
199
+ self .started = started
197
200
if duration is not None :
198
201
self .duration = duration
199
202
if release is not None :
You can’t perform that action at this time.
0 commit comments