monocle-apptrace 0.3.1b1__py3-none-any.whl → 0.4.0b2__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.

Potentially problematic release.


This version of monocle-apptrace might be problematic. Click here for more details.

Files changed (46) hide show
  1. monocle_apptrace/exporters/aws/s3_exporter.py +3 -1
  2. monocle_apptrace/exporters/azure/blob_exporter.py +2 -2
  3. monocle_apptrace/exporters/base_exporter.py +10 -4
  4. monocle_apptrace/exporters/file_exporter.py +19 -4
  5. monocle_apptrace/exporters/monocle_exporters.py +8 -5
  6. monocle_apptrace/exporters/okahu/okahu_exporter.py +5 -2
  7. monocle_apptrace/instrumentation/common/__init__.py +1 -1
  8. monocle_apptrace/instrumentation/common/constants.py +12 -5
  9. monocle_apptrace/instrumentation/common/instrumentor.py +44 -22
  10. monocle_apptrace/instrumentation/common/span_handler.py +100 -50
  11. monocle_apptrace/instrumentation/common/tracing.md +68 -0
  12. monocle_apptrace/instrumentation/common/utils.py +101 -63
  13. monocle_apptrace/instrumentation/common/wrapper.py +223 -48
  14. monocle_apptrace/instrumentation/common/wrapper_method.py +15 -7
  15. monocle_apptrace/instrumentation/metamodel/aiohttp/__init__.py +0 -0
  16. monocle_apptrace/instrumentation/metamodel/aiohttp/_helper.py +66 -0
  17. monocle_apptrace/instrumentation/metamodel/aiohttp/entities/http.py +51 -0
  18. monocle_apptrace/instrumentation/metamodel/aiohttp/methods.py +13 -0
  19. monocle_apptrace/instrumentation/metamodel/anthropic/methods.py +4 -2
  20. monocle_apptrace/instrumentation/metamodel/flask/_helper.py +50 -3
  21. monocle_apptrace/instrumentation/metamodel/flask/entities/http.py +48 -0
  22. monocle_apptrace/instrumentation/metamodel/flask/methods.py +10 -1
  23. monocle_apptrace/instrumentation/metamodel/haystack/_helper.py +17 -4
  24. monocle_apptrace/instrumentation/metamodel/haystack/entities/inference.py +5 -2
  25. monocle_apptrace/instrumentation/metamodel/haystack/methods.py +8 -4
  26. monocle_apptrace/instrumentation/metamodel/langchain/_helper.py +12 -4
  27. monocle_apptrace/instrumentation/metamodel/langchain/entities/inference.py +1 -1
  28. monocle_apptrace/instrumentation/metamodel/langchain/methods.py +6 -14
  29. monocle_apptrace/instrumentation/metamodel/llamaindex/_helper.py +13 -9
  30. monocle_apptrace/instrumentation/metamodel/llamaindex/entities/inference.py +1 -1
  31. monocle_apptrace/instrumentation/metamodel/llamaindex/methods.py +16 -15
  32. monocle_apptrace/instrumentation/metamodel/openai/_helper.py +10 -2
  33. monocle_apptrace/instrumentation/metamodel/openai/entities/inference.py +174 -26
  34. monocle_apptrace/instrumentation/metamodel/openai/methods.py +6 -8
  35. monocle_apptrace/instrumentation/metamodel/requests/_helper.py +31 -0
  36. monocle_apptrace/instrumentation/metamodel/requests/entities/http.py +51 -0
  37. monocle_apptrace/instrumentation/metamodel/requests/methods.py +2 -1
  38. monocle_apptrace/instrumentation/metamodel/teamsai/_helper.py +55 -5
  39. monocle_apptrace/instrumentation/metamodel/teamsai/entities/inference/actionplanner_output_processor.py +13 -33
  40. monocle_apptrace/instrumentation/metamodel/teamsai/entities/inference/teamsai_output_processor.py +24 -20
  41. monocle_apptrace/instrumentation/metamodel/teamsai/methods.py +42 -8
  42. {monocle_apptrace-0.3.1b1.dist-info → monocle_apptrace-0.4.0b2.dist-info}/METADATA +2 -1
  43. {monocle_apptrace-0.3.1b1.dist-info → monocle_apptrace-0.4.0b2.dist-info}/RECORD +46 -39
  44. {monocle_apptrace-0.3.1b1.dist-info → monocle_apptrace-0.4.0b2.dist-info}/WHEEL +0 -0
  45. {monocle_apptrace-0.3.1b1.dist-info → monocle_apptrace-0.4.0b2.dist-info}/licenses/LICENSE +0 -0
  46. {monocle_apptrace-0.3.1b1.dist-info → monocle_apptrace-0.4.0b2.dist-info}/licenses/NOTICE +0 -0
@@ -12,7 +12,7 @@ OPENAI_METHODS = [
12
12
  "object": "Completions",
13
13
  "method": "create",
14
14
  "wrapper_method": task_wrapper,
15
- "span_handler": "non_framework_handler",
15
+ "span_handler": "openai_handler",
16
16
  "output_processor": INFERENCE
17
17
  },
18
18
  {
@@ -20,7 +20,7 @@ OPENAI_METHODS = [
20
20
  "object": "AsyncCompletions",
21
21
  "method": "create",
22
22
  "wrapper_method": atask_wrapper,
23
- "span_handler": "non_framework_handler",
23
+ "span_handler": "openai_handler",
24
24
  "output_processor": INFERENCE
25
25
  },
26
26
  {
@@ -28,8 +28,7 @@ OPENAI_METHODS = [
28
28
  "object": "Embeddings",
29
29
  "method": "create",
30
30
  "wrapper_method": task_wrapper,
31
- "span_name": "openai_embeddings",
32
- "span_handler": "non_framework_handler",
31
+ "span_handler": "openai_handler",
33
32
  "output_processor": RETRIEVAL
34
33
  },
35
34
  {
@@ -37,8 +36,7 @@ OPENAI_METHODS = [
37
36
  "object": "AsyncEmbeddings",
38
37
  "method": "create",
39
38
  "wrapper_method": atask_wrapper,
40
- "span_name": "openai_embeddings",
41
- "span_handler": "non_framework_handler",
39
+ "span_handler": "openai_handler",
42
40
  "output_processor": RETRIEVAL
43
41
  },
44
42
  {
@@ -46,7 +44,7 @@ OPENAI_METHODS = [
46
44
  "object": "Responses",
47
45
  "method": "create",
48
46
  "wrapper_method": task_wrapper,
49
- "span_handler": "non_framework_handler",
47
+ "span_handler": "openai_handler",
50
48
  "output_processor": INFERENCE
51
49
  },
52
50
  {
@@ -54,7 +52,7 @@ OPENAI_METHODS = [
54
52
  "object": "AsyncResponses",
55
53
  "method": "create",
56
54
  "wrapper_method": atask_wrapper,
57
- "span_handler": "non_framework_handler",
55
+ "span_handler": "openai_handler",
58
56
  "output_processor": INFERENCE
59
57
  }
60
58
 
@@ -2,6 +2,36 @@ import os
2
2
  from monocle_apptrace.instrumentation.metamodel.requests import allowed_urls
3
3
  from opentelemetry.propagate import inject
4
4
  from monocle_apptrace.instrumentation.common.span_handler import SpanHandler
5
+ from monocle_apptrace.instrumentation.common.utils import add_monocle_trace_state
6
+ from urllib.parse import urlparse, ParseResult
7
+
8
+
9
+ def get_route(kwargs):
10
+ url:str = kwargs['url']
11
+ parsed_url:ParseResult = urlparse(url)
12
+ return f"{parsed_url.netloc}{parsed_url.path}"
13
+
14
+ def get_method(kwargs) -> str:
15
+ return kwargs['method'] if 'method' in kwargs else 'GET'
16
+
17
+ def get_params(kwargs) -> dict:
18
+ url:str = kwargs['url']
19
+ parsed_url:ParseResult = urlparse(url)
20
+ return parsed_url.query
21
+
22
+ def get_headers(kwargs) -> dict:
23
+ return kwargs['headers'] if 'headers' in kwargs else {}
24
+
25
+ def get_body(kwargs) -> dict:
26
+ body = {}
27
+ return body
28
+
29
+ def extract_response(result) -> str:
30
+ return result.text if hasattr(result, 'text') else str(result)
31
+
32
+ def extract_status(result) -> str:
33
+ return f"{result.status_code}"
34
+
5
35
 
6
36
  def request_pre_task_processor(kwargs):
7
37
  # add traceparent to the request headers in kwargs
@@ -9,6 +39,7 @@ def request_pre_task_processor(kwargs):
9
39
  headers = {}
10
40
  else:
11
41
  headers = kwargs['headers'].copy()
42
+ add_monocle_trace_state(headers)
12
43
  inject(headers)
13
44
  kwargs['headers'] = headers
14
45
 
@@ -0,0 +1,51 @@
1
+ from monocle_apptrace.instrumentation.metamodel.requests import _helper
2
+ REQUEST_HTTP_PROCESSOR = {
3
+ "type": "http.send",
4
+ "attributes": [
5
+ [
6
+ {
7
+ "_comment": "request method, request URI",
8
+ "attribute": "method",
9
+ "accessor": lambda arguments: _helper.get_method(arguments['kwargs'])
10
+ },
11
+ {
12
+ "_comment": "request method, request URI",
13
+ "attribute": "URL",
14
+ "accessor": lambda arguments: _helper.get_route(arguments['kwargs'])
15
+ }
16
+
17
+ ]
18
+ ],
19
+ "events": [
20
+ {"name": "data.input",
21
+ "attributes": [
22
+ {
23
+ "_comment": "route params",
24
+ "attribute": "http.params",
25
+ "accessor": lambda arguments: _helper.get_params(arguments['kwargs'])
26
+ },
27
+ {
28
+ "_comment": "route body",
29
+ "attribute": "body",
30
+ "accessor": lambda arguments: _helper.get_body(arguments['kwargs'])
31
+ },
32
+
33
+ ]
34
+ },
35
+ {
36
+ "name": "data.output",
37
+ "attributes": [
38
+ {
39
+ "_comment": "status from HTTP response",
40
+ "attribute": "status",
41
+ "accessor": lambda arguments: _helper.extract_status(arguments['result'])
42
+ },
43
+ {
44
+ "_comment": "this is result from LLM",
45
+ "attribute": "response",
46
+ "accessor": lambda arguments: _helper.extract_response(arguments['result'])
47
+ }
48
+ ]
49
+ }
50
+ ]
51
+ }
@@ -1,12 +1,13 @@
1
1
  from monocle_apptrace.instrumentation.common.wrapper import task_wrapper
2
+ from monocle_apptrace.instrumentation.metamodel.requests.entities.http import REQUEST_HTTP_PROCESSOR
2
3
 
3
4
  REQUESTS_METHODS = [
4
5
  {
5
6
  "package": "requests.sessions",
6
7
  "object": "Session",
7
8
  "method": "request",
8
- "span_name": "http_requests",
9
9
  "wrapper_method": task_wrapper,
10
10
  "span_handler":"request_handler",
11
+ "output_processor": REQUEST_HTTP_PROCESSOR
11
12
  }
12
13
  ]
@@ -1,4 +1,12 @@
1
1
  from monocle_apptrace.instrumentation.common.utils import MonocleSpanException
2
+ from monocle_apptrace.instrumentation.common.utils import (
3
+ Option,
4
+ get_keys_as_tuple,
5
+ get_nested_value,
6
+ try_option,
7
+ get_exception_message,
8
+ get_exception_status_code
9
+ )
2
10
  def capture_input(arguments):
3
11
  """
4
12
  Captures the input from Teams AI state.
@@ -51,8 +59,50 @@ def capture_prompt_info(arguments):
51
59
  except Exception as e:
52
60
  return f"Error capturing prompt: {str(e)}"
53
61
 
54
- def status_check(arguments):
55
- if hasattr(arguments["result"], "error") and arguments["result"].error is not None:
56
- error_msg:str = arguments["result"].error
57
- error_code:str = arguments["result"].status if hasattr(arguments["result"], "status") else "unknown"
58
- raise MonocleSpanException(f"Error: {error_code} - {error_msg}")
62
+ def get_status_code(arguments):
63
+ if arguments["exception"] is not None:
64
+ return get_exception_status_code(arguments)
65
+ elif hasattr(arguments["result"], "status"):
66
+ return arguments["result"].status
67
+ else:
68
+ return 'success'
69
+
70
+ def get_status(arguments):
71
+ if arguments["exception"] is not None:
72
+ return 'error'
73
+ elif get_status_code(arguments) == 'success':
74
+ return 'success'
75
+ else:
76
+ return 'error'
77
+
78
+ def get_response(arguments) -> str:
79
+ status = get_status_code(arguments)
80
+ response:str = ""
81
+ if status == 'success':
82
+ if hasattr(arguments["result"], "message"):
83
+ response = arguments["result"].message.content
84
+ else:
85
+ response = str(arguments["result"])
86
+ else:
87
+ if arguments["exception"] is not None:
88
+ response = get_exception_message(arguments)
89
+ elif hasattr(arguments["result"], "error"):
90
+ response = arguments["result"].error
91
+ return response
92
+
93
+ def check_status(arguments):
94
+ status = get_status_code(arguments)
95
+ if status != 'success':
96
+ raise MonocleSpanException(f"{status}")
97
+
98
+ def extract_provider_name(instance):
99
+ provider_url: Option[str] = try_option(getattr, instance._client.base_url, 'host')
100
+ return provider_url.unwrap_or(None)
101
+
102
+
103
+ def extract_inference_endpoint(instance):
104
+ inference_endpoint: Option[str] = try_option(getattr, instance._client, 'base_url').map(str)
105
+ if inference_endpoint.is_none() and "meta" in instance.client.__dict__:
106
+ inference_endpoint = try_option(getattr, instance.client.meta, 'endpoint_url').map(str)
107
+
108
+ return inference_endpoint.unwrap_or(extract_provider_name(instance))
@@ -2,7 +2,7 @@ from monocle_apptrace.instrumentation.metamodel.teamsai import (
2
2
  _helper,
3
3
  )
4
4
  ACTIONPLANNER_OUTPUT_PROCESSOR = {
5
- "type": "inference",
5
+ "type": "generic",
6
6
  "attributes": [
7
7
  [
8
8
  {
@@ -28,42 +28,22 @@ ACTIONPLANNER_OUTPUT_PROCESSOR = {
28
28
  {
29
29
  "attribute": "tokenizer",
30
30
  "accessor": lambda arguments: arguments["instance"]._options.tokenizer.__class__.__name__ if hasattr(arguments["instance"], "_options") else "GPTTokenizer"
31
+ },
32
+ {
33
+ "attribute": "prompt_name",
34
+ "accessor": _helper.capture_prompt_info
35
+ },
36
+ {
37
+ "attribute": "validator",
38
+ "accessor": lambda arguments: arguments["kwargs"].get("validator").__class__.__name__ if arguments.get("kwargs", {}).get("validator") else "DefaultResponseValidator"
39
+ },
40
+ {
41
+ "attribute": "memory_type",
42
+ "accessor": lambda arguments: arguments["kwargs"].get("memory").__class__.__name__ if arguments.get("kwargs", {}).get("memory") else "unknown"
31
43
  }
32
44
  ]
33
45
  ],
34
46
  "events": [
35
- {
36
- "name": "data.input",
37
- "_comment": "input configuration to ActionPlanner",
38
- "attributes": [
39
- {
40
- "attribute": "prompt_name",
41
- "accessor": _helper.capture_prompt_info
42
- },
43
- {
44
- "attribute": "validator",
45
- "accessor": lambda arguments: arguments["kwargs"].get("validator").__class__.__name__ if arguments.get("kwargs", {}).get("validator") else "DefaultResponseValidator"
46
- },
47
- {
48
- "attribute": "memory_type",
49
- "accessor": lambda arguments: arguments["kwargs"].get("memory").__class__.__name__ if arguments.get("kwargs", {}).get("memory") else "unknown"
50
- }
51
- ]
52
- },
53
- {
54
- "name": "data.output",
55
- "_comment": "output from ActionPlanner",
56
- "attributes": [
57
- {
58
- "attribute": "status",
59
- "accessor": lambda arguments: _helper.status_check(arguments)
60
- },
61
- {
62
- "attribute": "response",
63
- "accessor": lambda arguments: arguments["result"].message.content if hasattr(arguments["result"], "message") else str(arguments["result"])
64
- }
65
- ]
66
- },
67
47
  {
68
48
  "name": "metadata",
69
49
  "attributes": [
@@ -1,22 +1,23 @@
1
1
  from monocle_apptrace.instrumentation.metamodel.teamsai import (
2
2
  _helper,
3
3
  )
4
+ from monocle_apptrace.instrumentation.common.utils import get_llm_type
4
5
  TEAMAI_OUTPUT_PROCESSOR = {
5
- "type": "inference",
6
+ "type": "inference.framework",
6
7
  "attributes": [
7
8
  [
8
9
  {
9
10
  "_comment": "provider type, name, deployment",
10
11
  "attribute": "type",
11
- "accessor": lambda arguments: "teams.openai"
12
+ "accessor": lambda arguments: 'inference.' + (get_llm_type(arguments['instance']._client) or 'generic')
12
13
  },
13
14
  {
14
15
  "attribute": "provider_name",
15
- "accessor": lambda arguments: "Microsoft Teams AI"
16
+ "accessor": lambda arguments: _helper.extract_provider_name(arguments['instance'])
16
17
  },
17
18
  {
18
- "attribute": "deployment",
19
- "accessor": lambda arguments: arguments["instance"]._options.default_model if hasattr(arguments["instance"], "_options") else "unknown"
19
+ "attribute": "inference_endpoint",
20
+ "accessor": lambda arguments: _helper.extract_inference_endpoint(arguments['instance'])
20
21
  }
21
22
  ],
22
23
  [
@@ -25,6 +26,11 @@ TEAMAI_OUTPUT_PROCESSOR = {
25
26
  "attribute": "name",
26
27
  "accessor": lambda arguments: arguments["instance"]._options.default_model if hasattr(arguments["instance"], "_options") else "unknown"
27
28
  },
29
+ {
30
+ "_comment": "LLM Model",
31
+ "attribute": "type",
32
+ "accessor": lambda arguments: 'model.llm.'+ arguments["instance"]._options.default_model if hasattr(arguments["instance"], "_options") else "unknown"
33
+ },
28
34
  {
29
35
  "attribute": "is_streaming",
30
36
  "accessor": lambda arguments: arguments["instance"]._options.stream if hasattr(arguments["instance"], "_options") else False
@@ -46,25 +52,23 @@ TEAMAI_OUTPUT_PROCESSOR = {
46
52
  "name": "data.output",
47
53
  "_comment": "output from Teams AI",
48
54
  "attributes": [
55
+ {
56
+ "attribute": "status",
57
+ "accessor": lambda arguments: _helper.get_status(arguments)
58
+ },
59
+ {
60
+ "attribute": "status_code",
61
+ "accessor": lambda arguments: _helper.get_status_code(arguments)
62
+ },
49
63
  {
50
64
  "attribute": "response",
51
- "accessor": lambda arguments: arguments["result"].message.content if hasattr(arguments["result"], "message") else str(arguments["result"])
52
- }
53
- ]
54
- },
55
- {
56
- "name": "metadata",
57
- "attributes": [
65
+ "accessor": lambda arguments: _helper.get_response(arguments)
66
+ },
58
67
  {
59
- "_comment": "metadata from Teams AI response",
60
- "accessor": lambda arguments: {
61
- "prompt_tokens": arguments["result"].get("usage", {}).get("prompt_tokens", 0),
62
- "completion_tokens": arguments["result"].get("usage", {}).get("completion_tokens", 0),
63
- "total_tokens": arguments["result"].get("usage", {}).get("total_tokens", 0),
64
- "latency_ms": arguments.get("latency_ms")
65
- }
68
+ "attribute": "check_status",
69
+ "accessor": lambda arguments: _helper.check_status(arguments)
66
70
  }
67
71
  ]
68
- }
72
+ },
69
73
  ]
70
74
  }
@@ -1,4 +1,9 @@
1
- from monocle_apptrace.instrumentation.common.wrapper import atask_wrapper, task_wrapper
1
+ from monocle_apptrace.instrumentation.common.wrapper import (
2
+ ascopes_wrapper,
3
+ atask_wrapper,
4
+ task_wrapper,
5
+ ascope_wrapper,
6
+ )
2
7
  from monocle_apptrace.instrumentation.metamodel.teamsai.entities.inference.teamsai_output_processor import (
3
8
  TEAMAI_OUTPUT_PROCESSOR,
4
9
  )
@@ -6,21 +11,50 @@ from monocle_apptrace.instrumentation.metamodel.teamsai.entities.inference.actio
6
11
  ACTIONPLANNER_OUTPUT_PROCESSOR,
7
12
  )
8
13
 
9
- TEAMAI_METHODS =[
14
+
15
+ def get_id(args, kwargs):
16
+ """
17
+ Extracts the ID from the context.
18
+ """
19
+ scopes: dict[str, dict[str:str]] = {}
20
+ context = kwargs.get("context")
21
+ if context and context.activity and context.activity.conversation.id:
22
+ conversation_id = context.activity.conversation.id or ""
23
+ user_aad_object_id = context.activity.from_property.aad_object_id or ""
24
+ user_teams_id = context.activity.from_property.id or ""
25
+ channel_id = context.activity.channel_id or ""
26
+ recipient_id = context.activity.recipient.id or ""
27
+ recipient_aad_object_id = context.activity.recipient.aad_object_id or ""
28
+ scopes[f"teams.conversation.conversation.id"] = conversation_id
29
+ scopes[f"teams.user.from_property.aad_object_id"] = user_aad_object_id
30
+ scopes[f"teams.user.from_property.id"] = user_teams_id
31
+ scopes[f"teams.channel.channel_id"] = channel_id
32
+ scopes[f"teams.channel.recipient.id"] = recipient_id
33
+ scopes[f"teams.channel.recipient.aad_object_id"] = recipient_aad_object_id
34
+
35
+ return scopes
36
+
37
+
38
+ TEAMAI_METHODS = [
10
39
  {
11
40
  "package": "teams.ai.models.openai_model",
12
41
  "object": "OpenAIModel",
13
42
  "method": "complete_prompt",
14
- "span_name": "teamsai.workflow",
15
43
  "wrapper_method": atask_wrapper,
16
- "output_processor": TEAMAI_OUTPUT_PROCESSOR
44
+ "output_processor": TEAMAI_OUTPUT_PROCESSOR,
17
45
  },
18
46
  {
19
47
  "package": "teams.ai.planners.action_planner",
20
48
  "object": "ActionPlanner",
21
49
  "method": "complete_prompt",
22
- "span_name": "teamsai.workflow",
23
50
  "wrapper_method": atask_wrapper,
24
- "output_processor": ACTIONPLANNER_OUTPUT_PROCESSOR
25
- }
26
- ]
51
+ "output_processor": ACTIONPLANNER_OUTPUT_PROCESSOR,
52
+ },
53
+ {
54
+ "package": "teams.ai.planners.action_planner",
55
+ "object": "ActionPlanner",
56
+ "method": "complete_prompt",
57
+ "scope_values": get_id,
58
+ "wrapper_method": ascopes_wrapper,
59
+ },
60
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: monocle_apptrace
3
- Version: 0.3.1b1
3
+ Version: 0.4.0b2
4
4
  Summary: package with monocle genAI tracing
5
5
  Project-URL: Homepage, https://github.com/monocle2ai/monocle
6
6
  Project-URL: Issues, https://github.com/monocle2ai/monocle/issues
@@ -20,6 +20,7 @@ Requires-Dist: boto3==1.35.19; extra == 'aws'
20
20
  Provides-Extra: azure
21
21
  Requires-Dist: azure-storage-blob==12.22.0; extra == 'azure'
22
22
  Provides-Extra: dev
23
+ Requires-Dist: anthropic-haystack; extra == 'dev'
23
24
  Requires-Dist: anthropic==0.49.0; extra == 'dev'
24
25
  Requires-Dist: azure-storage-blob==12.22.0; extra == 'dev'
25
26
  Requires-Dist: boto3==1.34.131; extra == 'dev'
@@ -1,27 +1,32 @@
1
1
  monocle_apptrace/README.md,sha256=T5NFC01bF8VR0oVnAX_n0bhsEtttwqfTxDNAe5Y_ivE,3765
2
2
  monocle_apptrace/__init__.py,sha256=XtoX7gHUSZgkY1nry8IFny8RslPhutZQUuEkqIrBzFQ,30
3
3
  monocle_apptrace/__main__.py,sha256=wBwV0fpwIuj9XSorPRP1MpkHHkZPM9Tg-lIFj1nokkU,609
4
- monocle_apptrace/exporters/base_exporter.py,sha256=Gov_QKp5fonVZ-YdNM2ynoPot7GCaSNmKbCHIP3bDlE,1680
4
+ monocle_apptrace/exporters/base_exporter.py,sha256=xm2MkDjuVZc-vmSXBMMsNMyIoy4z0O4g6wOAyuEnHwo,2062
5
5
  monocle_apptrace/exporters/exporter_processor.py,sha256=-spCIJ_UfJ0fax_jE-ii3ODQBwtnHZgYIGVNd91Q718,6298
6
- monocle_apptrace/exporters/file_exporter.py,sha256=BSEYUb9Z_dascR9i_FL_HxnxnxjyxtR_5teoSjIpZQc,3198
7
- monocle_apptrace/exporters/monocle_exporters.py,sha256=TKULSQDZLIrf76NMhxYfsnG3vV11B1l2liI1wEWGaLo,2759
8
- monocle_apptrace/exporters/aws/s3_exporter.py,sha256=fvUUuukFM6hIliGqP61WXlVMFbxlIQtMgT3iwjUYDTA,8187
6
+ monocle_apptrace/exporters/file_exporter.py,sha256=KnKXKnrhLv7mXMZlArcz7YTWYBT6YMBYPp5S0aGM1Dg,3723
7
+ monocle_apptrace/exporters/monocle_exporters.py,sha256=qo6S53dp2ko6EzMP-ICL2buqgmw8HZboy19j7iHp1Qk,2882
8
+ monocle_apptrace/exporters/aws/s3_exporter.py,sha256=9GA2tiWOUBLtDdGIdLLyYJEdQ1jRC5SdxxVH3qqR8Qk,8260
9
9
  monocle_apptrace/exporters/aws/s3_exporter_opendal.py,sha256=0aEUxdMgJaDUwqjw0DqlCMr8kjl01KgwUt3_RRCVFds,5917
10
- monocle_apptrace/exporters/azure/blob_exporter.py,sha256=75G8rcISQ0sZCECN2G67-DGFkJGGu2clNyrcoxEm9H8,7371
10
+ monocle_apptrace/exporters/azure/blob_exporter.py,sha256=YqEouaqZQtO8bLF_OIYEAN6XQIwK_XrgtrU-itRQsdM,7285
11
11
  monocle_apptrace/exporters/azure/blob_exporter_opendal.py,sha256=wQUtciyFMD28tpWTiP0-kBjUuxy4LuQSo04aMuHwtb4,7140
12
- monocle_apptrace/exporters/okahu/okahu_exporter.py,sha256=qj7paDHbWbYudH18xanUuxmhOHHlYEVj1kpzK7f2OTY,4601
12
+ monocle_apptrace/exporters/okahu/okahu_exporter.py,sha256=wFkHd87nOXzFMRejrUiO6N0mNIWkxAyRzob6o82lr_c,4765
13
13
  monocle_apptrace/instrumentation/__init__.py,sha256=oa412OuokRm9Vf3XlCJLqpZjz9ZcuxAKxnEBvOK7u2M,21
14
- monocle_apptrace/instrumentation/common/__init__.py,sha256=_YD94HPvDvHcrkt9Ll11BaHNzJ4W56GUJ7GPjp_diyA,223
15
- monocle_apptrace/instrumentation/common/constants.py,sha256=UsxkhlmLLq5OtkLdnGLWFJ06IkuM3xM1qaUeqeRgSq8,2871
16
- monocle_apptrace/instrumentation/common/instrumentor.py,sha256=v-ZriWJdHlSOWkwprlwDaxm6kOVKyqehZ3m_kbECm0k,15087
17
- monocle_apptrace/instrumentation/common/span_handler.py,sha256=WHvLc3TSqsrv62qJ_qclC57QT0bFoTCJ4hc-qe3SOYg,10229
18
- monocle_apptrace/instrumentation/common/utils.py,sha256=iGxvC8V-2uLbrhFG9u9NKOyHkbd1moIkg6ukujDT88Y,12023
19
- monocle_apptrace/instrumentation/common/wrapper.py,sha256=FNam-sz5gbTxa0Ym6-xyVhCA5HVAEObKDdQFubasIpU,4474
20
- monocle_apptrace/instrumentation/common/wrapper_method.py,sha256=YFXgFH1R02XmKeHBbHcal7vHGd4r-EY_Jrx7gtHAkI8,3410
14
+ monocle_apptrace/instrumentation/common/__init__.py,sha256=oNEcgw4N36_XzPeN1gc7wxhPjVg-Vhh8EjvUIQZ7pDM,224
15
+ monocle_apptrace/instrumentation/common/constants.py,sha256=XxxPUg0tQGQLM12Z3yzLa-shgU8ZZwlAGsFg9MT7mao,3208
16
+ monocle_apptrace/instrumentation/common/instrumentor.py,sha256=CwQT1oiPyzv_xe8HhdOH7Ucmd18r2Wk3ortOTx6bhpQ,16324
17
+ monocle_apptrace/instrumentation/common/span_handler.py,sha256=ajW1hkb_gUefJ5dMOVyXY1GcdHxpFkYajNJrmjq9iVg,12965
18
+ monocle_apptrace/instrumentation/common/tracing.md,sha256=6Lr8QGxEFHKhj-mMvLV3xjFnplKSs6HEdwl0McPK47M,7577
19
+ monocle_apptrace/instrumentation/common/utils.py,sha256=wAN3J6H5wxQZgOrK31oWyq1mzxLogkG-Du31GoPcPIo,13519
20
+ monocle_apptrace/instrumentation/common/wrapper.py,sha256=YF2f7j9Z1RPmY69OwdUIhyR8hCLSEk-xRGWbZlowl3c,12079
21
+ monocle_apptrace/instrumentation/common/wrapper_method.py,sha256=ig98if45QDU-N76uNAxcb1O7xL8YpwtxJLcb5Dh71bc,4013
21
22
  monocle_apptrace/instrumentation/metamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ monocle_apptrace/instrumentation/metamodel/aiohttp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ monocle_apptrace/instrumentation/metamodel/aiohttp/_helper.py,sha256=h-zrif2vgPL9JbCf1eKHbKBYHAxMdHxOdY-soIDGti8,2361
25
+ monocle_apptrace/instrumentation/metamodel/aiohttp/methods.py,sha256=rcfGoRMLJeu-X2O9fGv6nhhjUrBJALKOJ-axiedavMI,435
26
+ monocle_apptrace/instrumentation/metamodel/aiohttp/entities/http.py,sha256=9mRr8nwUB4DSnFzpU9kwJkShlZbqwIPYztDfDp3_l0s,1701
22
27
  monocle_apptrace/instrumentation/metamodel/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
28
  monocle_apptrace/instrumentation/metamodel/anthropic/_helper.py,sha256=gnKlf3AlG-yEwX7w3TcWDoRcqKPTa1tiJpWSWu-eirU,2543
24
- monocle_apptrace/instrumentation/metamodel/anthropic/methods.py,sha256=urXucmR1ZXeEsc-e0XvRQOwCAvfEr38p5QktGvtVPA4,641
29
+ monocle_apptrace/instrumentation/metamodel/anthropic/methods.py,sha256=WVXoN_i5h9hXjrJV5xF9wIQIpmP_gCN3P8HEPfAsfik,703
25
30
  monocle_apptrace/instrumentation/metamodel/anthropic/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
31
  monocle_apptrace/instrumentation/metamodel/anthropic/entities/inference.py,sha256=MeHaJWYUKJ9EpvmUvoZ04tOuS57M4LRDHNZq_Ee1OQ8,2721
27
32
  monocle_apptrace/instrumentation/metamodel/botocore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -31,19 +36,20 @@ monocle_apptrace/instrumentation/metamodel/botocore/entities/__init__.py,sha256=
31
36
  monocle_apptrace/instrumentation/metamodel/botocore/entities/inference.py,sha256=rAsvhRIR9XYGd8NHTFDJQuiQSTzFoZ4oKeA6kEhK0QQ,2363
32
37
  monocle_apptrace/instrumentation/metamodel/botocore/handlers/botocore_span_handler.py,sha256=8FSdoQSS6DuowF7KHhCRj5kpxYF-bBNR47W1tB-gVh0,1433
33
38
  monocle_apptrace/instrumentation/metamodel/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- monocle_apptrace/instrumentation/metamodel/flask/_helper.py,sha256=AcQ5F6_IDmu9PXaeKKeiGIyq2I2YzA7wu1cvLzR-uyU,1175
35
- monocle_apptrace/instrumentation/metamodel/flask/methods.py,sha256=QkWHX4wKQf_GiJBHmiS9_JD2CiKMTCWMcig2dxAiKgU,340
39
+ monocle_apptrace/instrumentation/metamodel/flask/_helper.py,sha256=Z0mBGDXP_-DccbCmcyYrXJe4m5JZ1Al-Kfg6582bCa4,3082
40
+ monocle_apptrace/instrumentation/metamodel/flask/methods.py,sha256=dWCMEDk-HWHiD0vlMoAVYbIFclstmVkUpRrCtqDWyFE,739
41
+ monocle_apptrace/instrumentation/metamodel/flask/entities/http.py,sha256=wIudpNk6-DY72k0p90XtvjKt8BilvOd-87Q2iqJnWa8,1525
36
42
  monocle_apptrace/instrumentation/metamodel/haystack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- monocle_apptrace/instrumentation/metamodel/haystack/_helper.py,sha256=VgTrKn7rZMcv4OVdVEBI76G-5B0Rux4guiI6Nsso14s,4833
38
- monocle_apptrace/instrumentation/metamodel/haystack/methods.py,sha256=1XpEfU8-cczTiH2KbxGgSm-27V7xk1j5LxVciWfNuJo,1467
43
+ monocle_apptrace/instrumentation/metamodel/haystack/_helper.py,sha256=HjPZUA9K2dPUcQQNzMN3jX8UV0OHF9N7tQ6kSl1OvxM,5439
44
+ monocle_apptrace/instrumentation/metamodel/haystack/methods.py,sha256=Zd70ycMQ5qWsjPXnQL6qoThNKrQA80P6t11sFyEbQR4,1585
39
45
  monocle_apptrace/instrumentation/metamodel/haystack/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- monocle_apptrace/instrumentation/metamodel/haystack/entities/inference.py,sha256=bCAp8qpw2GGt1RRZcrucOGqP_Z9gkN8iCCQh6Mlf_Z0,3022
46
+ monocle_apptrace/instrumentation/metamodel/haystack/entities/inference.py,sha256=FzUg66WRYAcPbWqdq8iqfv7inkry9L_MrC1o5wd96bg,3217
41
47
  monocle_apptrace/instrumentation/metamodel/haystack/entities/retrieval.py,sha256=nq3lsk2qFxXqwrAHsBt8zrh4ZVGAJABkPtylrjUCCqc,2357
42
48
  monocle_apptrace/instrumentation/metamodel/langchain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- monocle_apptrace/instrumentation/metamodel/langchain/_helper.py,sha256=g88Hz4n25ALJnjYFhdbdoIlSFUJUkN-8gho8ru7txEQ,4910
44
- monocle_apptrace/instrumentation/metamodel/langchain/methods.py,sha256=hlLR43KXwiwYshvgoBrlqMOemFifhpgeR7smTb4zkCc,3225
49
+ monocle_apptrace/instrumentation/metamodel/langchain/_helper.py,sha256=CziW8KUmRqGCi_y2fcC9YMsP2wP11OMUitqKupSXStg,5315
50
+ monocle_apptrace/instrumentation/metamodel/langchain/methods.py,sha256=sQLrji0NLuG8i8q5UdbgzPUjWh_WmromfvWL3pGZdCk,2941
45
51
  monocle_apptrace/instrumentation/metamodel/langchain/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- monocle_apptrace/instrumentation/metamodel/langchain/entities/inference.py,sha256=2CNHloheb4LG7rPEUIF3E3M1cuc8CWVZf9J6l_hvK1E,2764
52
+ monocle_apptrace/instrumentation/metamodel/langchain/entities/inference.py,sha256=RrLPoYLfn3AB9-siwo1NFLT2aPDJtJm9Hgoj6ad2S7Y,2774
47
53
  monocle_apptrace/instrumentation/metamodel/langchain/entities/retrieval.py,sha256=r4UqTCT5vOfkbz9lwoTRoiMkUUJtPMwqOYbqo53A6K8,2039
48
54
  monocle_apptrace/instrumentation/metamodel/langgraph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
55
  monocle_apptrace/instrumentation/metamodel/langgraph/_helper.py,sha256=-XmAbhkgqwaunFZa-BP0zWZ3e-uD-ihSszbn5Cz75yc,2043
@@ -51,30 +57,31 @@ monocle_apptrace/instrumentation/metamodel/langgraph/methods.py,sha256=gnrKhcEPo
51
57
  monocle_apptrace/instrumentation/metamodel/langgraph/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
58
  monocle_apptrace/instrumentation/metamodel/langgraph/entities/inference.py,sha256=OaPeQ8pkyEP5j6ad537MTPp0BdDI7nabxf60u66Dzbk,1659
53
59
  monocle_apptrace/instrumentation/metamodel/llamaindex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- monocle_apptrace/instrumentation/metamodel/llamaindex/_helper.py,sha256=5nqG-bSW3-ZEADZcwlHXIhhGZoTZu2a5Sc3Lo_AByeo,6199
55
- monocle_apptrace/instrumentation/metamodel/llamaindex/methods.py,sha256=3Lr7C3GPQMScLX7gQTrPxU7hs8TTIYFTXApAGyB2yjU,3137
60
+ monocle_apptrace/instrumentation/metamodel/llamaindex/_helper.py,sha256=1Rq2sfoLT2L_4w7lMy5tWtGzIgcp9Nbn45nHEKGahMU,6645
61
+ monocle_apptrace/instrumentation/metamodel/llamaindex/methods.py,sha256=p2mDYF_Izgz9M919n3Do5tlc5XRAZt_rnkFRqqIO5yo,3001
56
62
  monocle_apptrace/instrumentation/metamodel/llamaindex/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
63
  monocle_apptrace/instrumentation/metamodel/llamaindex/entities/agent.py,sha256=g7IEwFMLjYvxljX7iHoYSPJW6k-wC7Z3i_y2qlNEZcs,1338
58
- monocle_apptrace/instrumentation/metamodel/llamaindex/entities/inference.py,sha256=Hich1AoEHnCUvh0MIISNOjbH9t71eex_IsY_4j3JN5U,2727
64
+ monocle_apptrace/instrumentation/metamodel/llamaindex/entities/inference.py,sha256=XJI6CbGdsogQLQC41KEJqkRe1THEN_vu8pA_H5RGNww,2737
59
65
  monocle_apptrace/instrumentation/metamodel/llamaindex/entities/retrieval.py,sha256=QBF1nrqog5KHh925jiY2V-kejL6iVLKUowZmqUDoiJ4,1870
60
66
  monocle_apptrace/instrumentation/metamodel/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- monocle_apptrace/instrumentation/metamodel/openai/_helper.py,sha256=G_2-FafJGjTY0lU5OXQFNGCP2Z7OmgUMbTgNa37AVec,4256
62
- monocle_apptrace/instrumentation/metamodel/openai/methods.py,sha256=J3aKsf74w-ix2zxaIhP5uHSj1WB939wDi3pGlGdATBU,1922
67
+ monocle_apptrace/instrumentation/metamodel/openai/_helper.py,sha256=8kQhU-QuqQR_SPJs9KKE-32jBJyk2kB91VNtirYX1yI,4878
68
+ monocle_apptrace/instrumentation/metamodel/openai/methods.py,sha256=jpqZyfiJbzMz1r3W3fwMCGiQsbiDSkhqgADJextGxFQ,1796
63
69
  monocle_apptrace/instrumentation/metamodel/openai/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- monocle_apptrace/instrumentation/metamodel/openai/entities/inference.py,sha256=Egpx7ROZvwH6E3hqDWXa1gCXiNijnH3LD0HqQWhfspg,2716
70
+ monocle_apptrace/instrumentation/metamodel/openai/entities/inference.py,sha256=JV6favZumCWBx5GCgirQ-txACeOGzb8N_-SZdSY0nOE,7910
65
71
  monocle_apptrace/instrumentation/metamodel/openai/entities/retrieval.py,sha256=LU7aec302ZqPrs9MzFWU-JTnhK8OpYfgQKMmktlD6-8,1457
66
72
  monocle_apptrace/instrumentation/metamodel/requests/__init__.py,sha256=mg04UgoPzzcH-cPOahYUqN9T-TolZyOZipnBwDg5TP8,250
67
- monocle_apptrace/instrumentation/metamodel/requests/_helper.py,sha256=lKU7py-M0eweHA_LWatwdyWbSGSlQNhScGZ43Xko7us,1115
68
- monocle_apptrace/instrumentation/metamodel/requests/methods.py,sha256=OJtosy_07xy01o5Qv-53--aCLQLkr82NZtyi2t6ZDEM,326
73
+ monocle_apptrace/instrumentation/metamodel/requests/_helper.py,sha256=GS03VbT9LiGwt4Mz2DPHtxuWd3xhQL4liS9-dfpy9SE,1985
74
+ monocle_apptrace/instrumentation/metamodel/requests/methods.py,sha256=O7lkglRvV97zqnCu6r2JwvW8WQqi4uvlpmNkAPpXigE,440
75
+ monocle_apptrace/instrumentation/metamodel/requests/entities/http.py,sha256=TlY4NZtPleewbF5W0qV61L2ByDOf44EOZhKQgwzRIKc,1669
69
76
  monocle_apptrace/instrumentation/metamodel/teamsai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- monocle_apptrace/instrumentation/metamodel/teamsai/_helper.py,sha256=ZkYLD4TqdhALq_0mYAmTR-cYuvHfKdXQz8_h2FK22ZI,2283
71
- monocle_apptrace/instrumentation/metamodel/teamsai/methods.py,sha256=PUi7bLwP1_WztTCGGGgxbJLjNjviqD3JLWRB2_-MQP8,949
77
+ monocle_apptrace/instrumentation/metamodel/teamsai/_helper.py,sha256=mrN-AQ0Nn59_jKidyvibP76JI17SdVFAdpBw_ouuu2U,3821
78
+ monocle_apptrace/instrumentation/metamodel/teamsai/methods.py,sha256=i0Rz6Gn_Skey9uuCtJftNfMjGBbMMhuMMQcx7TPYQXU,2214
72
79
  monocle_apptrace/instrumentation/metamodel/teamsai/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
80
  monocle_apptrace/instrumentation/metamodel/teamsai/entities/inference/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- monocle_apptrace/instrumentation/metamodel/teamsai/entities/inference/actionplanner_output_processor.py,sha256=Y_aFDLgPVu9DA8J2z4DBpo4YpR5q-9FRHUtQOgunYM8,3168
75
- monocle_apptrace/instrumentation/metamodel/teamsai/entities/inference/teamsai_output_processor.py,sha256=G7qdMuHRVv1AQVhE5yceonwcYAlfAc_4iOKmzD3IZt4,2564
76
- monocle_apptrace-0.3.1b1.dist-info/METADATA,sha256=OI4wbYlf0MLfXXGDWZbbqRQZqbfSrcWstn62iSqijz8,6363
77
- monocle_apptrace-0.3.1b1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
78
- monocle_apptrace-0.3.1b1.dist-info/licenses/LICENSE,sha256=ay9trLiP5I7ZsFXo6AqtkLYdRqe5S9r-DrPOvsNlZrg,9136
79
- monocle_apptrace-0.3.1b1.dist-info/licenses/NOTICE,sha256=9jn4xtwM_uUetJMx5WqGnhrR7MIhpoRlpokjSTlyt8c,112
80
- monocle_apptrace-0.3.1b1.dist-info/RECORD,,
81
+ monocle_apptrace/instrumentation/metamodel/teamsai/entities/inference/actionplanner_output_processor.py,sha256=6rb75bFKh_hvgD8dJzcIeXeJjLjhm9nXuxHI3F-icqo,2405
82
+ monocle_apptrace/instrumentation/metamodel/teamsai/entities/inference/teamsai_output_processor.py,sha256=M5uPEbP5c57txrd7BDRXhK5rvRJfyNyvqavtkXuPjXU,2738
83
+ monocle_apptrace-0.4.0b2.dist-info/METADATA,sha256=Zjevvr0oyO-NM8uz0h5JTcTUNXtHnPV0LrLtiOtZk0E,6413
84
+ monocle_apptrace-0.4.0b2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
85
+ monocle_apptrace-0.4.0b2.dist-info/licenses/LICENSE,sha256=ay9trLiP5I7ZsFXo6AqtkLYdRqe5S9r-DrPOvsNlZrg,9136
86
+ monocle_apptrace-0.4.0b2.dist-info/licenses/NOTICE,sha256=9jn4xtwM_uUetJMx5WqGnhrR7MIhpoRlpokjSTlyt8c,112
87
+ monocle_apptrace-0.4.0b2.dist-info/RECORD,,