8000 Merge pull request #58 from InfluxCommunity/57-add-forced-trace-debug · InfluxCommunity/influxdb3-python@7e6bc49 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7e6bc49

Browse files
Merge pull request #58 from InfluxCommunity/57-add-forced-trace-debug
added trace debugging feature for support
2 parents 99a17d1 + b94773c commit 7e6bc49

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

influxdb_client_3/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from influxdb_client_3.read_file import UploadFile
99

1010

11+
1112
def write_client_options(**kwargs):
1213
"""
1314
Function for providing additional arguments for the WriteApi client.
@@ -158,7 +159,7 @@ def _process_dataframe(self, df, measurement_name, tag_columns, timestamp_column
158159
data_frame_tag_columns=tag_columns,
159160
data_frame_timestamp_column=timestamp_column, **kwargs)
160161

161-
def query(self, query, language="sql", mode="all", database=None, **kwargs ):
162+
def query(self, query, language="sql", mode="all", database=None,**kwargs ):
162163
"""
163164
Query data from InfluxDB.
164165
@@ -173,12 +174,16 @@ def query(self, query, language="sql", mode="all", database=None, **kwargs ):
173174
:param kwargs: Additional arguments for the query.
174175
:return: The queried data.
175176
"""
177+
178+
176179
if database is None:
177180
database = self._database
178181

179182
try:
183+
headers = [(b"authorization", f"Bearer {self._token}".encode('utf-8'))]
184+
180185
# Create an authorization header
181-
_options = FlightCallOptions(headers=[(b"authorization", f"Bearer {self._token}".encode('utf-8'))], **kwargs)
186+
_options = FlightCallOptions(headers=headers, **kwargs)
182187
ticket_data = {"database": database, "sql_query": query, "query_type": language}
183188
ticket = Ticket(json.dumps(ticket_data).encode('utf-8'))
184189
flight_reader = self._flight_client.do_get(ticket, _options)

influxdb_client_3/debug.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import pyarrow.flight as flight
2+
3+
class TracingClientMiddleWareFactory(flight.ClientMiddleware):
4+
def start_call(self, info):
5+
print("Starting new call:", info)
6+
return TracingClientMiddleware()
7+
8+
class TracingClientMiddleware(flight.ClientMiddleware):
9+
def sending_headers(self):
10+
print("Sending trace ID:", "traceheader")
11+
return {
12+
"x-tracing-id": "traceheader",
13+
}
14+
15+
def received_headers(self, headers):
16+
if "trace-id" in headers:
17+
trace_id = headers["trace-id"][0]
18+
print("Found trace header with value:", trace_id)
19+
# Don't overwrite our trace ID

0 commit comments

Comments
 (0)
0