micromegas 0.3.0__py3-none-any.whl → 0.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -238,14 +238,13 @@ class FlightSQLClient:
238
238
  print(row["time"], row["msg"])
239
239
 
240
240
  def materialize_partitions(
241
- self, view_set_name, view_instance_id, begin, end, partition_delta_seconds
241
+ self, view_set_name, begin, end, partition_delta_seconds
242
242
  ):
243
243
  sql = """
244
244
  SELECT time, msg
245
- FROM materialize_partitions('{view_set_name}', '{view_instance_id}', '{begin}', '{end}', {partition_delta_seconds})
245
+ FROM materialize_partitions('{view_set_name}', '{begin}', '{end}', {partition_delta_seconds})
246
246
  """.format(
247
247
  view_set_name=view_set_name,
248
- view_instance_id=view_instance_id,
249
248
  begin=begin.isoformat(),
250
249
  end=end.isoformat(),
251
250
  partition_delta_seconds=partition_delta_seconds,
@@ -253,3 +252,56 @@ class FlightSQLClient:
253
252
  for rb in self.query_stream(sql):
254
253
  for index, row in rb.to_pandas().iterrows():
255
254
  print(row["time"], row["msg"])
255
+
256
+ def find_process(self, process_id):
257
+ sql = """
258
+ SELECT *
259
+ FROM processes
260
+ WHERE process_id='{process_id}';
261
+ """.format(
262
+ process_id=process_id
263
+ )
264
+ return self.query(sql)
265
+
266
+ def query_streams(self, begin, end, limit, process_id=None, tag_filter=None):
267
+ conditions = []
268
+ if process_id is not None:
269
+ conditions.append("process_id='{process_id}'".format(process_id=process_id))
270
+ if tag_filter is not None:
271
+ conditions.append(
272
+ "(array_position(tags, '{tag}') is not NULL)".format(tag=tag_filter)
273
+ )
274
+ where = ""
275
+ if len(conditions) > 0:
276
+ where = "WHERE " + " AND ".join(conditions)
277
+ sql = """
278
+ SELECT *
279
+ FROM streams
280
+ {where}
281
+ LIMIT {limit};
282
+ """.format(
283
+ where=where, limit=limit
284
+ )
285
+ return self.query(sql, begin, end)
286
+
287
+ def query_blocks(self, begin, end, limit, stream_id):
288
+ sql = """
289
+ SELECT *
290
+ FROM blocks
291
+ WHERE stream_id='{stream_id}'
292
+ LIMIT {limit};
293
+ """.format(
294
+ limit=limit,stream_id=stream_id
295
+ )
296
+ return self.query(sql, begin, end)
297
+
298
+ def query_spans(self, begin, end, limit, stream_id):
299
+ sql = """
300
+ SELECT *
301
+ FROM view_instance('thread_spans', '{stream_id}')
302
+ LIMIT {limit};
303
+ """.format(
304
+ limit=limit,stream_id=stream_id
305
+ )
306
+ return self.query(sql, begin, end)
307
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micromegas
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Python analytics client for https://github.com/madesroches/micromegas/
5
5
  Author: Marc-Antoine Desroches
6
6
  Author-email: madesroches@gmail.com
@@ -27,20 +27,22 @@ Python analytics client for https://github.com/madesroches/micromegas/
27
27
 
28
28
  ## Example usage
29
29
 
30
- Query the 2 most recent log entries from the analytics service
30
+ Query the 2 most recent log entries from the flightsql service
31
31
 
32
32
  ```python
33
33
  import datetime
34
34
  import pandas as pd
35
35
  import micromegas
36
+ import grpc
36
37
 
37
- BASE_URL = "http://localhost:8082/"
38
- client = micromegas.client.Client(BASE_URL)
38
+ host_port = "localhost:50051"
39
+ channel_cred = grpc.local_channel_credentials()
40
+ client = micromegas.flightsql.client.FlightSQLClient(host_port, channel_cred)
39
41
  sql = """
40
42
  SELECT time, process_id, level, target, msg
41
43
  FROM log_entries
42
44
  WHERE level <= 4
43
- AND exe LIKE '%analytics%'
45
+ AND exe LIKE '%flight%'
44
46
  ORDER BY time DESC
45
47
  LIMIT 2
46
48
  """
@@ -7,7 +7,7 @@ micromegas/flightsql/Flight_pb2_grpc.py,sha256=mj9Nlla3wpf5xFAGhMZpLDX8vLBClWfZ4
7
7
  micromegas/flightsql/__init__.py,sha256=SRq2X59uKG-iuwFnSyT7wVfiTMSSryAAEWnQVjGWOM8,249
8
8
  micromegas/flightsql/arrow_flatbuffers.py,sha256=egpmS59sNFwWmtG2wMeE92MMIyGyZbsm9o24mUnY1MQ,100142
9
9
  micromegas/flightsql/arrow_ipc_reader.py,sha256=3rxyEgqo5100e0TT9ZKZxNe7lX6Lk0mS6yRoiIJtH6Q,3163
10
- micromegas/flightsql/client.py,sha256=kCjrq_mybF-SKhT5X-v5ey0AXukxcaLNvt4P4Ur2Wz8,9717
10
+ micromegas/flightsql/client.py,sha256=v4igU4nHZdaqBAw5qDtDNl6UBYiLvVnCJk1qDeO8LjE,11241
11
11
  micromegas/flightsql/time.py,sha256=EH3SUEpFvY0lNMj9mOcvfUJuSgrQ3YX4aJnwteK2qhk,582
12
12
  micromegas/perfetto.py,sha256=yuIe5iKvca61aWMBQNziSGM-DHcOEsiobtKx2SsNQ3E,7829
13
13
  micromegas/request.py,sha256=NV0urom5P3_P2q94gX51hxW_Fnrp_DDRorsP3mUb5NM,941
@@ -217,6 +217,6 @@ micromegas/thirdparty/perfetto/protos/perfetto/trace/translation/translation_tab
217
217
  micromegas/thirdparty/perfetto/protos/perfetto/trace/trigger_pb2.py,sha256=We7Yi8o3cEcrSNxY1zLUUO6tEWnD36C2f3O_s8_qv0I,1435
218
218
  micromegas/thirdparty/perfetto/protos/perfetto/trace/ui_state_pb2.py,sha256=Af-SXwhroNhRXMrtw6e2eU1liCImMRxSdmkt_AuSHf8,1752
219
219
  micromegas/time.py,sha256=eD9fWF2UHxaf-92yd1X2SEgUcpKypqPsvjBosLdpnQA,1026
220
- micromegas-0.3.0.dist-info/METADATA,sha256=E4E7CwE4gz3c7WqCPZugw47d92FksajbSl2U0CBQfak,30555
221
- micromegas-0.3.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
222
- micromegas-0.3.0.dist-info/RECORD,,
220
+ micromegas-0.3.2.dist-info/METADATA,sha256=dA9ULkpE-NKW6fQ-yRGNO0sMXEv9AHsIZfxTcubwxaQ,30640
221
+ micromegas-0.3.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
222
+ micromegas-0.3.2.dist-info/RECORD,,