cavisson-pythonagent 0.0.1__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.
Files changed (180) hide show
  1. cavisson_pythonagent-0.0.1.dist-info/METADATA +32 -0
  2. cavisson_pythonagent-0.0.1.dist-info/RECORD +180 -0
  3. cavisson_pythonagent-0.0.1.dist-info/WHEEL +5 -0
  4. cavisson_pythonagent-0.0.1.dist-info/licenses/LICENSE +19 -0
  5. cavisson_pythonagent-0.0.1.dist-info/top_level.txt +1 -0
  6. pythonagent/__init__.py +22 -0
  7. pythonagent/agent/__init__.py +219 -0
  8. pythonagent/agent/internal/__init__.py +1 -0
  9. pythonagent/agent/internal/agent.py +1651 -0
  10. pythonagent/agent/internal/framesinfo.py +152 -0
  11. pythonagent/agent/internal/heap_dump.py +39 -0
  12. pythonagent/agent/internal/intercept_module.py +70 -0
  13. pythonagent/agent/internal/logs.py +122 -0
  14. pythonagent/agent/internal/metadata/__init__.py +0 -0
  15. pythonagent/agent/internal/metadata/agent_meta_data.py +276 -0
  16. pythonagent/agent/internal/proc_compat.py +75 -0
  17. pythonagent/agent/internal/profile.py +47 -0
  18. pythonagent/agent/internal/provider.py +83 -0
  19. pythonagent/agent/internal/thread_dump.py +85 -0
  20. pythonagent/agent/internal/udp.py +245 -0
  21. pythonagent/agent/internal/udp_message.py +800 -0
  22. pythonagent/agent/probes/Instrumentation/__init__.py +340 -0
  23. pythonagent/agent/probes/Instrumentation/find.py +243 -0
  24. pythonagent/agent/probes/Instrumentation/module_version_resolver.py +155 -0
  25. pythonagent/agent/probes/Instrumentation/new_parser.py +64 -0
  26. pythonagent/agent/probes/Instrumentation/parser.py +129 -0
  27. pythonagent/agent/probes/__init__.py +219 -0
  28. pythonagent/agent/probes/base.py +303 -0
  29. pythonagent/agent/probes/cache/__init__.py +51 -0
  30. pythonagent/agent/probes/cache/redis.py +119 -0
  31. pythonagent/agent/probes/cache/redis_asyncio.py +83 -0
  32. pythonagent/agent/probes/coroutines/__init__.py +1 -0
  33. pythonagent/agent/probes/coroutines/asyncio.py +63 -0
  34. pythonagent/agent/probes/elasticdb/__init__.py +7 -0
  35. pythonagent/agent/probes/elasticdb/aelastic.py +54 -0
  36. pythonagent/agent/probes/frameworks/__init__.py +27 -0
  37. pythonagent/agent/probes/frameworks/agentprofiler.py +105 -0
  38. pythonagent/agent/probes/frameworks/aiohttp_web.py +155 -0
  39. pythonagent/agent/probes/frameworks/aisess.py +151 -0
  40. pythonagent/agent/probes/frameworks/asgi.py +340 -0
  41. pythonagent/agent/probes/frameworks/bottle.py +27 -0
  42. pythonagent/agent/probes/frameworks/cherry.py +25 -0
  43. pythonagent/agent/probes/frameworks/django.py +128 -0
  44. pythonagent/agent/probes/frameworks/falcon.py +21 -0
  45. pythonagent/agent/probes/frameworks/fastapi.py +35 -0
  46. pythonagent/agent/probes/frameworks/flask.py +30 -0
  47. pythonagent/agent/probes/frameworks/pyramid.py +56 -0
  48. pythonagent/agent/probes/frameworks/test.py +108 -0
  49. pythonagent/agent/probes/frameworks/tornado_async_web.py +117 -0
  50. pythonagent/agent/probes/frameworks/tornado_web.py +133 -0
  51. pythonagent/agent/probes/frameworks/wsgi.py +353 -0
  52. pythonagent/agent/probes/grpc/__init__.py +76 -0
  53. pythonagent/agent/probes/grpc/client_interceptor.py +132 -0
  54. pythonagent/agent/probes/grpc/server_interceptor.py +129 -0
  55. pythonagent/agent/probes/havoc/__init__.py +0 -0
  56. pythonagent/agent/probes/havoc/custom_memory_stress.py +186 -0
  57. pythonagent/agent/probes/havoc/custom_thread_stress.py +187 -0
  58. pythonagent/agent/probes/havoc/havoc_constants.py +218 -0
  59. pythonagent/agent/probes/havoc/havoc_manager.py +981 -0
  60. pythonagent/agent/probes/http/__init__.py +49 -0
  61. pythonagent/agent/probes/http/aiohttp_client.py +59 -0
  62. pythonagent/agent/probes/http/boto.py +12 -0
  63. pythonagent/agent/probes/http/httplib.py +110 -0
  64. pythonagent/agent/probes/http/httpx_client.py +116 -0
  65. pythonagent/agent/probes/http/requests.py +15 -0
  66. pythonagent/agent/probes/http/tornado_httpclient.py +85 -0
  67. pythonagent/agent/probes/http/urllib3.py +16 -0
  68. pythonagent/agent/probes/langchain/__init__.py +21 -0
  69. pythonagent/agent/probes/langchain/base_tool.py +95 -0
  70. pythonagent/agent/probes/langchain/langchain_community.py +136 -0
  71. pythonagent/agent/probes/langchain/langchain_core.py +32 -0
  72. pythonagent/agent/probes/langchain/langchain_openai.py +110 -0
  73. pythonagent/agent/probes/logging/__init__.py +106 -0
  74. pythonagent/agent/probes/message_brokers/__init__.py +4 -0
  75. pythonagent/agent/probes/message_brokers/pika.py +126 -0
  76. pythonagent/agent/probes/mongodb/__init__.py +6 -0
  77. pythonagent/agent/probes/mongodb/pymongo.py +286 -0
  78. pythonagent/agent/probes/openai/__init__.py +3 -0
  79. pythonagent/agent/probes/openai/openai.py +797 -0
  80. pythonagent/agent/probes/span.py +101 -0
  81. pythonagent/agent/probes/sql/__init__.py +13 -0
  82. pythonagent/agent/probes/sql/botocores3.py +51 -0
  83. pythonagent/agent/probes/sql/dbapi.py +285 -0
  84. pythonagent/agent/probes/sql/dynamodb.py +90 -0
  85. pythonagent/agent/probes/sql/mysql_connector.py +24 -0
  86. pythonagent/agent/probes/sql/mysql_connector_cext.py +24 -0
  87. pythonagent/agent/probes/sql/mysqldb.py +43 -0
  88. pythonagent/agent/probes/sql/psycopg2.py +174 -0
  89. pythonagent/agent/probes/sql/pymysql.py +25 -0
  90. pythonagent/bootstrap/__init__.py +0 -0
  91. pythonagent/bootstrap/cav_gunicorn.py +26 -0
  92. pythonagent/bootstrap/cavagent_lambda_wrapper.py +291 -0
  93. pythonagent/bootstrap/run.py +47 -0
  94. pythonagent/bootstrap/sitecustomize.py +287 -0
  95. pythonagent/cavisson/netdiagnostics/CavAgent/instrumentationprofile.json +26 -0
  96. pythonagent/cavisson/netdiagnostics/CavAgent/interceptor_points.txt +29 -0
  97. pythonagent/cavisson/netdiagnostics/python/CavAgent/instrumentationprofile.json +42 -0
  98. pythonagent/cavisson/netdiagnostics/python/CavAgent/interceptor_points.txt +29 -0
  99. pythonagent/cavisson/netdiagnostics/python/config/ndsettings.conf +6 -0
  100. pythonagent/config.py +279 -0
  101. pythonagent/find.py +72 -0
  102. pythonagent/find_mod_cls_name.py +54 -0
  103. pythonagent/lang.py +131 -0
  104. pythonagent/lib.py +91 -0
  105. pythonagent/main/__init__.py +0 -0
  106. pythonagent/main/pytrace/__init__.py +79 -0
  107. pythonagent/main/pytrace/commands/__init__.py +0 -0
  108. pythonagent/main/pytrace/commands/auto_discovery.py +25 -0
  109. pythonagent/main/pytrace/commands/run.py +401 -0
  110. pythonagent/main/pytrace/pytrace.py +133 -0
  111. pythonagent/main/wsgi.py +6 -0
  112. pythonagent/main.py +27 -0
  113. pythonagent/run.py +46 -0
  114. pythonagent/sqins.py +8 -0
  115. pythonagent/test.py +73 -0
  116. pythonagent/utils.py +168 -0
  117. pythonagent/vendor/__init__.py +0 -0
  118. pythonagent/vendor/pympler/__init__.py +1 -0
  119. pythonagent/vendor/pympler/asizeof.py +2810 -0
  120. pythonagent/vendor/pympler/charts.py +62 -0
  121. pythonagent/vendor/pympler/classtracker.py +590 -0
  122. pythonagent/vendor/pympler/classtracker_stats.py +780 -0
  123. pythonagent/vendor/pympler/garbagegraph.py +80 -0
  124. pythonagent/vendor/pympler/mprofile.py +97 -0
  125. pythonagent/vendor/pympler/muppy.py +275 -0
  126. pythonagent/vendor/pympler/panels.py +115 -0
  127. pythonagent/vendor/pympler/process.py +238 -0
  128. pythonagent/vendor/pympler/py.typed +0 -0
  129. pythonagent/vendor/pympler/refbrowser.py +451 -0
  130. pythonagent/vendor/pympler/refgraph.py +350 -0
  131. pythonagent/vendor/pympler/summary.py +321 -0
  132. pythonagent/vendor/pympler/tracker.py +267 -0
  133. pythonagent/vendor/pympler/util/__init__.py +0 -0
  134. pythonagent/vendor/pympler/util/bottle.py +3809 -0
  135. pythonagent/vendor/pympler/util/compat.py +23 -0
  136. pythonagent/vendor/pympler/util/stringutils.py +77 -0
  137. pythonagent/vendor/pympler/web.py +346 -0
  138. pythonagent/vendor/werkzeug/__init__.py +20 -0
  139. pythonagent/vendor/werkzeug/_compat.py +228 -0
  140. pythonagent/vendor/werkzeug/_internal.py +473 -0
  141. pythonagent/vendor/werkzeug/_reloader.py +341 -0
  142. pythonagent/vendor/werkzeug/datastructures.py +3120 -0
  143. pythonagent/vendor/werkzeug/debug/__init__.py +498 -0
  144. pythonagent/vendor/werkzeug/debug/console.py +218 -0
  145. pythonagent/vendor/werkzeug/debug/repr.py +297 -0
  146. pythonagent/vendor/werkzeug/debug/tbtools.py +628 -0
  147. pythonagent/vendor/werkzeug/exceptions.py +829 -0
  148. pythonagent/vendor/werkzeug/filesystem.py +64 -0
  149. pythonagent/vendor/werkzeug/formparser.py +584 -0
  150. pythonagent/vendor/werkzeug/http.py +1307 -0
  151. pythonagent/vendor/werkzeug/local.py +420 -0
  152. pythonagent/vendor/werkzeug/middleware/__init__.py +25 -0
  153. pythonagent/vendor/werkzeug/middleware/dispatcher.py +66 -0
  154. pythonagent/vendor/werkzeug/middleware/http_proxy.py +219 -0
  155. pythonagent/vendor/werkzeug/middleware/lint.py +408 -0
  156. pythonagent/vendor/werkzeug/middleware/profiler.py +132 -0
  157. pythonagent/vendor/werkzeug/middleware/proxy_fix.py +169 -0
  158. pythonagent/vendor/werkzeug/middleware/shared_data.py +293 -0
  159. pythonagent/vendor/werkzeug/posixemulation.py +117 -0
  160. pythonagent/vendor/werkzeug/routing.py +2210 -0
  161. pythonagent/vendor/werkzeug/security.py +249 -0
  162. pythonagent/vendor/werkzeug/serving.py +1117 -0
  163. pythonagent/vendor/werkzeug/test.py +1123 -0
  164. pythonagent/vendor/werkzeug/testapp.py +241 -0
  165. pythonagent/vendor/werkzeug/urls.py +1138 -0
  166. pythonagent/vendor/werkzeug/useragents.py +202 -0
  167. pythonagent/vendor/werkzeug/utils.py +778 -0
  168. pythonagent/vendor/werkzeug/wrappers/__init__.py +36 -0
  169. pythonagent/vendor/werkzeug/wrappers/accept.py +50 -0
  170. pythonagent/vendor/werkzeug/wrappers/auth.py +33 -0
  171. pythonagent/vendor/werkzeug/wrappers/base_request.py +673 -0
  172. pythonagent/vendor/werkzeug/wrappers/base_response.py +700 -0
  173. pythonagent/vendor/werkzeug/wrappers/common_descriptors.py +341 -0
  174. pythonagent/vendor/werkzeug/wrappers/cors.py +100 -0
  175. pythonagent/vendor/werkzeug/wrappers/etag.py +304 -0
  176. pythonagent/vendor/werkzeug/wrappers/json.py +145 -0
  177. pythonagent/vendor/werkzeug/wrappers/request.py +49 -0
  178. pythonagent/vendor/werkzeug/wrappers/response.py +84 -0
  179. pythonagent/vendor/werkzeug/wrappers/user_agent.py +14 -0
  180. pythonagent/vendor/werkzeug/wsgi.py +1000 -0
@@ -0,0 +1,32 @@
1
+ Metadata-Version: 2.4
2
+ Name: cavisson-pythonagent
3
+ Version: 0.0.1
4
+ Summary: A small example package
5
+ Home-page: https://github.com/pypa/sampleproject
6
+ Author: Cavisson System
7
+ Author-email: pythonagent@cavisson.com
8
+ Classifier: Programming Language :: Python :: 2
9
+ Classifier: Programming Language :: Python :: 2.7
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.6
12
+ Classifier: Programming Language :: Python :: 3.7
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Requires-Python: >=2.6, !=3.0.*, !=3.1.*, !=3.2.*
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: classifier
21
+ Dynamic: description
22
+ Dynamic: description-content-type
23
+ Dynamic: home-page
24
+ Dynamic: license-file
25
+ Dynamic: requires-python
26
+ Dynamic: summary
27
+
28
+ # Example Package
29
+
30
+ This is a simple example package. You can use
31
+ [Github-flavored Markdown](https://guides.github.com/features/mastering-markdown/)
32
+ to write your content.
@@ -0,0 +1,180 @@
1
+ cavisson_pythonagent-0.0.1.dist-info/licenses/LICENSE,sha256=7EI8xVBu6h_7_JlVw-yPhhOZlpY9hP8wal7kHtqKT_E,1074
2
+ pythonagent/__init__.py,sha256=etxDiPuXwuVOVPqzoG6tpJNQVY1sx6OfzTDmgcHDk3s,567
3
+ pythonagent/config.py,sha256=QXoHsWfDd1SxYAT-Eaj6PEfV0o2GFux9K-qNxP2VXW4,7640
4
+ pythonagent/find.py,sha256=oW67zyz53FYVzKTTDg0BxIlaI_B1WivUbc7kHVRx5m8,2368
5
+ pythonagent/find_mod_cls_name.py,sha256=XSJB-7QcqhaoYhXiuMejlmsCzsa76w7gn4WsOP20d3A,1348
6
+ pythonagent/lang.py,sha256=hIvlfZc9MuoznW7jg-r673YsupIK29QI3PYTBd2gzp4,3908
7
+ pythonagent/lib.py,sha256=ihFHmLmXITuNC6h3aP_QRcWnlSaHllLcWk7bEQsbLmQ,2553
8
+ pythonagent/main.py,sha256=rOHEpD_78Op1QI4e98QKrxGCAbQROZdMiJh1DwMnxDA,632
9
+ pythonagent/run.py,sha256=KXbOIa0bYMKwFcIkD71Nn_PCGHo81BpmBD_Snt3_F44,1241
10
+ pythonagent/sqins.py,sha256=o_BNSNlkezvdy7SuWIQzXdO2uqWy90ONoUK5MxmTEo0,650
11
+ pythonagent/test.py,sha256=rINsfqexJy7pZkMWM3w_6aX77mzZYOVaw48oS5PWVeg,3167
12
+ pythonagent/utils.py,sha256=2Trh7Ahr4bVgl0ZiUdRwz3QgY48kj8GcGKuXblyxQtk,5505
13
+ pythonagent/agent/__init__.py,sha256=gCeob6LW0IgrDE1FeOnT33aFdb1nJOAHf2R5to9rfGY,7056
14
+ pythonagent/agent/internal/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
15
+ pythonagent/agent/internal/agent.py,sha256=903JKCxv0mcV1GS0RXmDizoyecj1hjUm-DE8z0eifAE,65424
16
+ pythonagent/agent/internal/framesinfo.py,sha256=tgg0b6CitnDaCY3QRX17NZRrArI8FR-d5xTSjR4fCP4,4342
17
+ pythonagent/agent/internal/heap_dump.py,sha256=SDLhiLiTMU_rjUMvwRMY4TrePjv5xMjUufNOO31Dyu4,1247
18
+ pythonagent/agent/internal/intercept_module.py,sha256=5Ny5QEaVI5nHCVW1U66HVEl4Zb4RPdTbG8r1gLTCOHw,3028
19
+ pythonagent/agent/internal/logs.py,sha256=F0jBpSOG_S5R7wPmp1AiT7tcAWbV7nM-EORNGOd-x9I,3990
20
+ pythonagent/agent/internal/proc_compat.py,sha256=1gQ6-nHJgc5_H84e-xXgPWu0uWwah6YBnJ2AttHJvuE,2282
21
+ pythonagent/agent/internal/profile.py,sha256=jukCQazwrRA9IKKbdGLIr0cqrHyKAov08_QK3jRAnKw,1474
22
+ pythonagent/agent/internal/provider.py,sha256=H99xt6psMW2PkdbpPU2PLKo5dW7-FNBxIiNGXLwI5pQ,1686
23
+ pythonagent/agent/internal/thread_dump.py,sha256=HM9FlojAksZMl7vH1MzzppAcI6M5HKkHg2496ak5-Zo,2534
24
+ pythonagent/agent/internal/udp.py,sha256=lsOPnsliI5T1_8KHYQRCVBIMRRuuAh551wY1GJs16Xc,9280
25
+ pythonagent/agent/internal/udp_message.py,sha256=llaHHpaE97PSyIHeMWLWs2M5lndQvaN2YQ1bcyuuKtg,38593
26
+ pythonagent/agent/internal/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ pythonagent/agent/internal/metadata/agent_meta_data.py,sha256=_LMwwQ9waR7U7pAKPxV0Fbnb-54-TFkRbXZmO1aZ4uw,13333
28
+ pythonagent/agent/probes/__init__.py,sha256=Y43RmOEX5AUak6jfdHZQcGrza91DNdkHW-KYOixzDgY,8969
29
+ pythonagent/agent/probes/base.py,sha256=Px4tVj5HxXuXwNG6-AWzo-gbFITwXQXp7zo2pbg5eUQ,12800
30
+ pythonagent/agent/probes/span.py,sha256=LT_u85ONcWWXUx8TNO7uViqXC50bHRELKR680pzYg6w,2721
31
+ pythonagent/agent/probes/Instrumentation/__init__.py,sha256=2rYroIfWimW-NpRd0FnjlGeoh7QTNaftWSRaw7xCgCM,17537
32
+ pythonagent/agent/probes/Instrumentation/find.py,sha256=BIi7dqCaSJgfCNOK3XH4--2YYty9i8KYgCocFSYThYE,8737
33
+ pythonagent/agent/probes/Instrumentation/module_version_resolver.py,sha256=ZboxegGpOR4lkU3w5OGaYJFl-XpA79Go9ApOyTYqALY,5456
34
+ pythonagent/agent/probes/Instrumentation/new_parser.py,sha256=yk4l87sIlCAmAQIF9CSUtUhexBZ--IcT3zLlCQq2KWo,1819
35
+ pythonagent/agent/probes/Instrumentation/parser.py,sha256=oi8tAPh8OQoNufC03El-EI0wzVL6z41QgduQiLoBdRU,4026
36
+ pythonagent/agent/probes/cache/__init__.py,sha256=3sxFcG3S3aahKN7wYvJKwQRYqQqEkQYzTZPA-230yZw,1550
37
+ pythonagent/agent/probes/cache/redis.py,sha256=-yKzrkLTubBgmYNKEqsOMkHb3kPvkvPtPtFwqPZ52L4,6173
38
+ pythonagent/agent/probes/cache/redis_asyncio.py,sha256=yqtyVVz23NalFrFiNggXbmL5WtElMPIq-61yTb2WU6Q,3541
39
+ pythonagent/agent/probes/coroutines/__init__.py,sha256=0sdnaZhgG5eFSU9AnT2uqSblEXfhh0-05ric4oXAh0c,39
40
+ pythonagent/agent/probes/coroutines/asyncio.py,sha256=2nY-5syHfrWtsdpGs7VcyHZoRnu5ALycCVeDauZKvBc,2086
41
+ pythonagent/agent/probes/elasticdb/__init__.py,sha256=xuvW75dLjC2Jp0VixChZm27Vt_E-_wrO7SF2DffUxXM,116
42
+ pythonagent/agent/probes/elasticdb/aelastic.py,sha256=SZah7oCga_5CJS6ZDkcT5BfI62CC36_SF9NjXxCS87I,2600
43
+ pythonagent/agent/probes/frameworks/__init__.py,sha256=isoyir_EV6OSlmslLcLa1_NsW_uAHAURSqsOf5zzNPo,836
44
+ pythonagent/agent/probes/frameworks/agentprofiler.py,sha256=V8lFFaEivTo-YsdSBmuY5r1HQdrvHP3cjUkLAUn8YCo,4030
45
+ pythonagent/agent/probes/frameworks/aiohttp_web.py,sha256=R2Duk9tTBCO_3PgoPJOXSHK4kKS8MZP5oLfWKutpXZg,6431
46
+ pythonagent/agent/probes/frameworks/aisess.py,sha256=u3UeuODPtAi-1SvG49GQEzWwolS5u6ZTiEMYo_-6xkg,6254
47
+ pythonagent/agent/probes/frameworks/asgi.py,sha256=v_4Rfns2fGnpM-84HFGvh9EO038KL5J83wHLZ-WOxN0,15684
48
+ pythonagent/agent/probes/frameworks/bottle.py,sha256=GPurXNe_abTQj8ENiI93Amyzodr9FUBLe7lOw4lBKnY,1011
49
+ pythonagent/agent/probes/frameworks/cherry.py,sha256=C8x-Nvd86qhBFY2KP-HWML1_QtqKsAUE_AeTRXl6joY,1124
50
+ pythonagent/agent/probes/frameworks/django.py,sha256=jWkYpttD-1Wo-NaB9Oh5JKgiwgoDygFSrZVDf4EOZD8,5529
51
+ pythonagent/agent/probes/frameworks/falcon.py,sha256=AE9c4WYxRluJlXnzlswQQxjxxfQ5zV4SoF0Lp49nJR8,851
52
+ pythonagent/agent/probes/frameworks/fastapi.py,sha256=uz1bvN_xD_NQgrfDJ76FVVtCqwLZxn6BJ4NhwSN0bEU,1138
53
+ pythonagent/agent/probes/frameworks/flask.py,sha256=2hf6vWa86-x2-UalQGSNl1UkmCIPRKtSs2TcSastQy0,1169
54
+ pythonagent/agent/probes/frameworks/pyramid.py,sha256=gvcovp3bZbKJP94r7yYgjauHJ1FCAfQ0IGTkuKiK0R8,1494
55
+ pythonagent/agent/probes/frameworks/test.py,sha256=7sunu5XrS5DbJbGTTMa_qNyVUuOgIOKdrQA79aEEQN4,3239
56
+ pythonagent/agent/probes/frameworks/tornado_async_web.py,sha256=NTqeF2l3OHD_1oZaXLIzFGwQsuPUqMesfaTGmytgToA,5414
57
+ pythonagent/agent/probes/frameworks/tornado_web.py,sha256=vj8DXEEnRcZdQsFoH_xwX9ZTIpbL6wkQpD9RU_lMols,7243
58
+ pythonagent/agent/probes/frameworks/wsgi.py,sha256=sNXd3PgEILU_gdH0iGo5p1Pu0uPRBVVb6GFjyPnxGuI,15852
59
+ pythonagent/agent/probes/grpc/__init__.py,sha256=LfCplwQpe4BwXQFuQPSjYuj1DqqGEhgFg1HOEgxyR-U,2836
60
+ pythonagent/agent/probes/grpc/client_interceptor.py,sha256=MFmMq6t804mkLOxClZ98ipQ3q9VQW-so85fdX7IqBIM,5735
61
+ pythonagent/agent/probes/grpc/server_interceptor.py,sha256=fkOlOaXHr-1cCoKtpwTQKbpWQ3PUFS6DylfNXZlKwZQ,5576
62
+ pythonagent/agent/probes/havoc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ pythonagent/agent/probes/havoc/custom_memory_stress.py,sha256=8_Kzq6FamkakMZ-XGlzcycz3HQ7AuHtMc_Xe1lAlI_M,7579
64
+ pythonagent/agent/probes/havoc/custom_thread_stress.py,sha256=OGscgANsx4MQlW3LFjCUwDrOWd4MFuDWzTtQscY-aRM,8929
65
+ pythonagent/agent/probes/havoc/havoc_constants.py,sha256=gMeTKTbvC-BUXyGR8kS7V4s-kXzwckxo6AhY7ogP5NM,5598
66
+ pythonagent/agent/probes/havoc/havoc_manager.py,sha256=BkveZO0_4NsvP5Uokn4X6Ykxemz4xO4PeOc7cMw1eWQ,49116
67
+ pythonagent/agent/probes/http/__init__.py,sha256=Ciy7d2N3ypK2p4RX0ecJQsDm-rBIPDhLOwLg3aqg54w,1886
68
+ pythonagent/agent/probes/http/aiohttp_client.py,sha256=ImtDU_u2jB8kiqzc3I1Sf-nK_kYwEIEfWkzcjiOGysk,2563
69
+ pythonagent/agent/probes/http/boto.py,sha256=9Tq-KrBP8-HU1IvEPn4_jGW4TTTWCmJTOzh8yA9p8aY,278
70
+ pythonagent/agent/probes/http/httplib.py,sha256=71ZZCfZnbpb8xFD-YRztFPONXrZlOIW6GQ9JmBzH_zc,5342
71
+ pythonagent/agent/probes/http/httpx_client.py,sha256=LIdNI18Zg6nfXNM9b4M-wsYBCW-pRuxC6Pw2yz2jhys,4933
72
+ pythonagent/agent/probes/http/requests.py,sha256=ieGkBNiwieiulkcxRa6G330oKIknAA8LTxvBc4tzDyI,481
73
+ pythonagent/agent/probes/http/tornado_httpclient.py,sha256=q4Qa32tidY93Nr7w6__IzjlxZaLs0dtG3DTUvwOH1co,3309
74
+ pythonagent/agent/probes/http/urllib3.py,sha256=Og9Rdo_nMHBaO9SLGBCVPKcbBO5taNK8WBm2EoA9eDI,531
75
+ pythonagent/agent/probes/langchain/__init__.py,sha256=E72qaspcV18YgBHM-tu_cw7jN3tvZ9BQrZL9SpBLrXY,900
76
+ pythonagent/agent/probes/langchain/base_tool.py,sha256=2AH9eX-dq07YUg-iR2prAR5EwbG3FIyMkUzinuNgE9Q,4516
77
+ pythonagent/agent/probes/langchain/langchain_community.py,sha256=JzphYLRLxzOS0uwBPIhUslh1OOwRmEjsO2wWFdvW0y0,6472
78
+ pythonagent/agent/probes/langchain/langchain_core.py,sha256=qF3nU79Z-jTeqJMEEy8fMtKI35baqXqYCsctkA5PpCs,1620
79
+ pythonagent/agent/probes/langchain/langchain_openai.py,sha256=C-_-UMjWP3yWz8QfBCCCgzS9Hzvb4lTC_qaRE0SeZ5k,5437
80
+ pythonagent/agent/probes/logging/__init__.py,sha256=Y0VvWTbQPAVTiJrTLLEmB4oxerAToSP0ZiZhAAXK6sw,4181
81
+ pythonagent/agent/probes/message_brokers/__init__.py,sha256=-DpHXekGh1tYEajuKXs1YxNAcYLolooLu38jB4j5nRM,64
82
+ pythonagent/agent/probes/message_brokers/pika.py,sha256=-SHTLpO8x494Ul-R6AlucCdhfFJZ6P0Nx0WZMRfnLBM,5458
83
+ pythonagent/agent/probes/mongodb/__init__.py,sha256=xBKovdRDNn0uLDYZ_cJyvuNQfS84Uo63QCuiwgnOYIo,114
84
+ pythonagent/agent/probes/mongodb/pymongo.py,sha256=vzlyQwlFzq_bCFc6N0osYaaekNubYHCbPuHWJT2_YhQ,14084
85
+ pythonagent/agent/probes/openai/__init__.py,sha256=ZVZZ3Hnp1jVoOx_5Dt86yZYlCR4QzSsAwIo6bVl_tMM,68
86
+ pythonagent/agent/probes/openai/openai.py,sha256=GLkT27sFqsLQiv_A80Sc0bc3iYG3m8GLBBO2gziC6Io,34343
87
+ pythonagent/agent/probes/sql/__init__.py,sha256=Dx4hy1bUid0flij1ia1eyF2VzzXAh1vAL23jfLYuOzE,303
88
+ pythonagent/agent/probes/sql/botocores3.py,sha256=z8uQBsXWdUt4aCwRMOqH6zh9kfz31yxZxjncXu9Xl-o,2000
89
+ pythonagent/agent/probes/sql/dbapi.py,sha256=78yNS4118x2Z21YFsyi0mvtLlc_zNAW4WzAiTd5MiaY,13614
90
+ pythonagent/agent/probes/sql/dynamodb.py,sha256=Yl9ISv0z2mhoHuO-hj02VuDifWo6bKTtIGjplMS4OCM,3581
91
+ pythonagent/agent/probes/sql/mysql_connector.py,sha256=r72yTGs2vGpGQYYuFokYVIaLvdSD4mZaa-D3H4M3sBs,785
92
+ pythonagent/agent/probes/sql/mysql_connector_cext.py,sha256=WR4zWABFwzuOokORjgAsXK8HzLOmuuJHZCbiGnF42Q8,793
93
+ pythonagent/agent/probes/sql/mysqldb.py,sha256=Wv1ZjWTPVN95-ntF-lf8OqIL-bz0El48dsG8HcD0qiY,1920
94
+ pythonagent/agent/probes/sql/psycopg2.py,sha256=Ez08tkbLkMi9L2qOG6yaR7jCQ-zVNGS_enKg6dj5wnA,5636
95
+ pythonagent/agent/probes/sql/pymysql.py,sha256=8CtT8TOlA4xcjachubmEc-GBYHF-eBuiCF4vGx2UJQA,840
96
+ pythonagent/bootstrap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ pythonagent/bootstrap/cav_gunicorn.py,sha256=BmjIY76d-RZ-xOgFJ9GnrAH7Kk_AtGvWwMWx58UEdoE,1146
98
+ pythonagent/bootstrap/cavagent_lambda_wrapper.py,sha256=-CR5eiscq1PY5jU7s7q6vqp8gM_C4x-KsuFwwwrFPlQ,9182
99
+ pythonagent/bootstrap/run.py,sha256=8NV_4TFBr11AoEzdc1_4lfU0WkXEyBfhWt5LR-w9B9Q,1243
100
+ pythonagent/bootstrap/sitecustomize.py,sha256=99yAMratUf1UrzAFACVUhxEnJ7BjeEDSCoGGcDIA8PA,11398
101
+ pythonagent/cavisson/netdiagnostics/CavAgent/instrumentationprofile.json,sha256=7ze4_vs8HYjublraONNjI9nkSWls84yM5dVcSl4Klis,346
102
+ pythonagent/cavisson/netdiagnostics/CavAgent/interceptor_points.txt,sha256=jcFEn5J7HZCGHnHCdGAOQ0ulHGyyvVozcffXV97nJBQ,346
103
+ pythonagent/cavisson/netdiagnostics/python/CavAgent/instrumentationprofile.json,sha256=d8jNmEjr1io14hnkk0Rl9l3azMOIyh65T-46nS1B7xk,581
104
+ pythonagent/cavisson/netdiagnostics/python/CavAgent/interceptor_points.txt,sha256=jcFEn5J7HZCGHnHCdGAOQ0ulHGyyvVozcffXV97nJBQ,346
105
+ pythonagent/cavisson/netdiagnostics/python/config/ndsettings.conf,sha256=cy-2VI54Jvix1vmydEZf1SwEmn1Ktdyc3Ua9YKRRnOI,111
106
+ pythonagent/main/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ pythonagent/main/wsgi.py,sha256=kRMzPpM4PQAFzCe2D6ZQAeLqsuC3Bp21AtHkBU-Ppkw,312
108
+ pythonagent/main/pytrace/__init__.py,sha256=TxircxbvpnXiifC-143RIc1SoelCA6r-OoD6hUak4gs,2205
109
+ pythonagent/main/pytrace/pytrace.py,sha256=EmK48vBopwL7olnnJrmbKbX647Y0ABTaHIN2J7UdsRo,3616
110
+ pythonagent/main/pytrace/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
+ pythonagent/main/pytrace/commands/auto_discovery.py,sha256=GqblOfbNhwYG22yNMIqgZR2M6H34iC-IXe44KGcVtYw,898
112
+ pythonagent/main/pytrace/commands/run.py,sha256=WikUHF99A3qWoQ6LEe5YzMtV1de1aMeoJEijZtmMNx8,14270
113
+ pythonagent/vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
+ pythonagent/vendor/pympler/__init__.py,sha256=NHNJCNKpUhz9Pp66avvm-g1TtJ_vX2luf489Gcd_rKk,20
115
+ pythonagent/vendor/pympler/asizeof.py,sha256=kEXKMbWF2ZFEbSQMHsqhVJ--5bQ4eYekSIszHSZGSz8,92116
116
+ pythonagent/vendor/pympler/charts.py,sha256=BiW6NACq9u1ZSOo47F6qirZJRlQpta5bnTQlkKJgXEc,2157
117
+ pythonagent/vendor/pympler/classtracker.py,sha256=rG6AjHPsbXxu-_H7LmO6E9491wuSiXeEBwHhzw9KDwE,22320
118
+ pythonagent/vendor/pympler/classtracker_stats.py,sha256=qci9irhk236CWKuwqCtt_MbNV3ZbwQOjVYxRHrDXrJI,28917
119
+ pythonagent/vendor/pympler/garbagegraph.py,sha256=6i_9P2KnNKSEAlJejPF4RjZ-GISi1s_typt0SlqzMQk,2604
120
+ pythonagent/vendor/pympler/mprofile.py,sha256=y2iX7_9qlvqLsfNgaanzHKlu3G2U_NvcAr9-AV5TG3w,3417
121
+ pythonagent/vendor/pympler/muppy.py,sha256=JRvrZl7KtbJVjJa_BNGbJfLjdzVQfNSp13QY3ELa8oQ,9037
122
+ pythonagent/vendor/pympler/panels.py,sha256=zSk92IlIqGup8gtZHITrmSYUgtLPw02jA7ru3XnHm1s,3665
123
+ pythonagent/vendor/pympler/process.py,sha256=gpUr_H63SUGe4Rgg2PsGmdYJlgqnjlgo7weTAPvNz5c,8334
124
+ pythonagent/vendor/pympler/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
+ pythonagent/vendor/pympler/refbrowser.py,sha256=7mb70HPoHN5-qtGyOmEUHy_nepdAwA2u7abbgrsZO38,15321
126
+ pythonagent/vendor/pympler/refgraph.py,sha256=UqJRNg-MtovT36YFVbTF3Zg49ot_93tbcDNhrF8pb3I,11947
127
+ pythonagent/vendor/pympler/summary.py,sha256=6_TowXPCjSUkrExcEDr1lcefvJ7oZzxgFAByfDhpa_g,10561
128
+ pythonagent/vendor/pympler/tracker.py,sha256=w1U5F3f80Cf--QglQ6fY4Ky5wJxzaK5_5h0iGvlQfo0,10406
129
+ pythonagent/vendor/pympler/web.py,sha256=EeBxujbjbmWxzZJ0o5ncF5y5Eoa_jVV3xJZbbmnqJEo,10967
130
+ pythonagent/vendor/pympler/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
+ pythonagent/vendor/pympler/util/bottle.py,sha256=iJVdWAfpOi2ksPZlyZtALczPj9aqqcNXrSXSClUCJwc,151993
132
+ pythonagent/vendor/pympler/util/compat.py,sha256=ZDuqwrXC-QGBGHV6KMVKy4RvB_v7BrNKwxF_gbao7Zs,469
133
+ pythonagent/vendor/pympler/util/stringutils.py,sha256=TcvYZhQPIhYyBlhtFBAgTlUKHaDstVpbu-v1UmY5G_E,2052
134
+ pythonagent/vendor/werkzeug/__init__.py,sha256=rb-yPiXOjTLbtDOl5fQp5hN7oBdaoXAoQ-slAAvfZAo,502
135
+ pythonagent/vendor/werkzeug/_compat.py,sha256=zjufTNrhQ8BgYSGSh-sVu6iW3r3O9WzjE9j-qJobx-g,6671
136
+ pythonagent/vendor/werkzeug/_internal.py,sha256=d_4AqheyS6dHMViwdc0drFrjs67ZzT6Ej2gWf-Z-Iys,14351
137
+ pythonagent/vendor/werkzeug/_reloader.py,sha256=I3mg3oRQ0lLzl06oEoVopN3bN7CtINuuUQdqDcmTnEs,11531
138
+ pythonagent/vendor/werkzeug/datastructures.py,sha256=AonxOcwU0TPMEzfKF1368ySULxHgxE-JE-DEAGdo2ts,100480
139
+ pythonagent/vendor/werkzeug/exceptions.py,sha256=Y6acy0-2F0-COo_knTrMS8Xud_x04E0i0gJ6ANyGiXM,25245
140
+ pythonagent/vendor/werkzeug/filesystem.py,sha256=HzKl-j0Hd8Jl66j778UbPTAYNnY6vUZgYLlBZ0e7uw0,2101
141
+ pythonagent/vendor/werkzeug/formparser.py,sha256=Sto0jZid9im9ZVIf56vilCdyX-arK33wSftkYsLCnzo,21788
142
+ pythonagent/vendor/werkzeug/http.py,sha256=KVRV3yFK14PJeI56qClEq4qxFdvKUQVy4C_dwuWz9_Q,43107
143
+ pythonagent/vendor/werkzeug/local.py,sha256=LvZMEB7_f4ynvKQJD5tX00VTvP0CqaNsfElh_ZhDMoQ,14409
144
+ pythonagent/vendor/werkzeug/posixemulation.py,sha256=gSSiv1SCmOyzOM_nq1ZaZCtxP__C5MeDJl_4yXJmi4Q,3541
145
+ pythonagent/vendor/werkzeug/routing.py,sha256=q6_TYNMUw7SuWYFc7TzJ-6Qpxh_gq9Iv4-7DSDbacc0,79095
146
+ pythonagent/vendor/werkzeug/security.py,sha256=81149MplFq7-hD4RK4sKp9kzXXejjV9D4lWBzaRyeQ8,8106
147
+ pythonagent/vendor/werkzeug/serving.py,sha256=BKwcmI__XqQBgguO45evn9DBwJXkjkIQvLyB6Hs0vBo,38713
148
+ pythonagent/vendor/werkzeug/test.py,sha256=GJ9kxTMSJ-nB7kfGtxuROr9JGmXxDRev-2U1SkeUJGE,39564
149
+ pythonagent/vendor/werkzeug/testapp.py,sha256=bHekqMsqRfVxwgFbvOMem-DYa_sdB7R47yUXpt1RUTo,9329
150
+ pythonagent/vendor/werkzeug/urls.py,sha256=T8-hV_1vwhu6xhX93FwsHteK-W-kIE2orj5WoMf-WFw,39322
151
+ pythonagent/vendor/werkzeug/useragents.py,sha256=TSoGv5IOvP375eK5gLLpsLQCeUgTR6sO1WftmAP_YvM,5563
152
+ pythonagent/vendor/werkzeug/utils.py,sha256=kHsdBy4TvXtpmWLfKURISPaXn1TQQDOKdo26wSUN7oo,25270
153
+ pythonagent/vendor/werkzeug/wsgi.py,sha256=ZGk85NzRyQTzkYis-xl8V9ydJgfClBdStvhzDzER2mw,34367
154
+ pythonagent/vendor/werkzeug/debug/__init__.py,sha256=vH0G3WrL9slEH8m0OwntPCcALeShPbzE-3DW0uU3CFE,17308
155
+ pythonagent/vendor/werkzeug/debug/console.py,sha256=OATaO7KHYMqpbzIFe1HeW9Mnl3wZgA3jMQoGDPn5URc,5488
156
+ pythonagent/vendor/werkzeug/debug/repr.py,sha256=lIwuhbyrMwVe3P_cFqNyqzHL7P93TLKod7lw9clydEw,9621
157
+ pythonagent/vendor/werkzeug/debug/tbtools.py,sha256=2iJ8RURUZUSbopOIehy53LnVJWx47lsHN2V2l6hc7Wc,20363
158
+ pythonagent/vendor/werkzeug/middleware/__init__.py,sha256=f1SFZo67IlW4k1uqKzNHxYQlsakUS-D6KK_j0e3jjwQ,549
159
+ pythonagent/vendor/werkzeug/middleware/dispatcher.py,sha256=_-KoMzHtcISHS7ouWKAOraqlCLprdh83YOAn_8DjLp8,2240
160
+ pythonagent/vendor/werkzeug/middleware/http_proxy.py,sha256=lRjTdMmghHiZuZrS7_UJ3gZc-vlFizhBbFZ-XZPLwIA,7117
161
+ pythonagent/vendor/werkzeug/middleware/lint.py,sha256=0JEClF52QbWgDeFeQl7hzkZtebeJh8szE44EvyMFs3Y,12986
162
+ pythonagent/vendor/werkzeug/middleware/profiler.py,sha256=jLFGfr-yIXIEZfBgFKrrrSe8aG2x0bMXNYvvfG2CLOM,4490
163
+ pythonagent/vendor/werkzeug/middleware/proxy_fix.py,sha256=YigRXvqNZsCyEIrjq0b5juEbJ8MOO7bR9ofR7rkU8cc,6469
164
+ pythonagent/vendor/werkzeug/middleware/shared_data.py,sha256=II-PpzUhq30WBFKgmzkBMV3v2JQotmRkmTWwaNN8AyI,9618
165
+ pythonagent/vendor/werkzeug/wrappers/__init__.py,sha256=S4VioKAmF_av9Ec9zQvG71X1EOkYfPx1TYck9jyDiyY,1384
166
+ pythonagent/vendor/werkzeug/wrappers/accept.py,sha256=TIvjUc0g73fhTWX54wg_D9NNzKvpnG1X8u1w26tK1o8,1760
167
+ pythonagent/vendor/werkzeug/wrappers/auth.py,sha256=Pmn6iaGHBrUyHbJpW0lZhO_q9RVoAa5QalaTqcavdAI,1158
168
+ pythonagent/vendor/werkzeug/wrappers/base_request.py,sha256=BuCXgsBigocDJPDvUBA_gY4x3fuI-bIJvhIbSMo5iwo,26031
169
+ pythonagent/vendor/werkzeug/wrappers/base_response.py,sha256=cKf7bBoS_6zdK4ETGaEviWV8gy9eI0OHAEpisMAzTDE,27803
170
+ pythonagent/vendor/werkzeug/wrappers/common_descriptors.py,sha256=X2Ktd5zUWsmcd4ciaF62Dd8Lru9pLGP_XDUNukc8cXs,12829
171
+ pythonagent/vendor/werkzeug/wrappers/cors.py,sha256=XMbaCol4dWTGvb-dCJBoN0p3JX91v93AIAHd7tnB3L4,3466
172
+ pythonagent/vendor/werkzeug/wrappers/etag.py,sha256=XMXtyfByBsOjxwaX8U7ZtUY7JXkbQLP45oXZ0qkyTNs,12217
173
+ pythonagent/vendor/werkzeug/wrappers/json.py,sha256=HvK_A4NpO0sLqgb10sTJcoZydYOwyNiPCJPV7SVgcgE,4343
174
+ pythonagent/vendor/werkzeug/wrappers/request.py,sha256=QbHGqDpGPN684pnOPEokwkPESfm-NnfYM7ydOMxW_NI,1514
175
+ pythonagent/vendor/werkzeug/wrappers/response.py,sha256=Oqv8TMG_dnOKTq_V30ddgkO5B7IJhkVPODvm7cbhZ3c,2524
176
+ pythonagent/vendor/werkzeug/wrappers/user_agent.py,sha256=YJb-vr12cujG7sQMG9V89VsJa-03SWSenhg1W4cT0EY,435
177
+ cavisson_pythonagent-0.0.1.dist-info/METADATA,sha256=I6vDiMZ8VAWttgYB3facpws8_wXPybRG5EU2BZE8Ve4,1033
178
+ cavisson_pythonagent-0.0.1.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
179
+ cavisson_pythonagent-0.0.1.dist-info/top_level.txt,sha256=whl9EzXop1ENuAjA3kwLQ_V13MPi3r_ij7jNv0uoHzk,12
180
+ cavisson_pythonagent-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2018 The Python Packaging Authority
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ pythonagent
@@ -0,0 +1,22 @@
1
+
2
+
3
+ def methodwrapper(func):
4
+ import pythonagent.agent as agent
5
+ _agent = agent.get_agent_instance()
6
+ print(func.__module__)
7
+ fqm = str(func.__module__) +"."+ str(func.__name__)
8
+ bt = _agent.get_current_bt()
9
+ #bt = "000001"
10
+ def inner(*args, **kwargs):
11
+ try:
12
+ _agent.method_entry(bt, fqm)
13
+ except Exception as e:
14
+ print(e)
15
+ rc = func(*args, **kwargs)
16
+ try:
17
+ _agent.method_exit(bt, fqm, 200)
18
+ except Exception as e:
19
+ print(e)
20
+ return rc
21
+
22
+ return inner
@@ -0,0 +1,219 @@
1
+
2
+ from pythonagent import config
3
+ from pythonagent.agent.internal.logs import configure_logging
4
+ from pythonagent.agent.probes.Instrumentation.parser import create_method_json, create_method_array, create_method_list
5
+ #from pythonagent.agent.probes.Instrumentation.new_parser import create_module_list, create_method_list
6
+ #from pythonagent.agent.probes.Instrumentation.new_parser import create_method_list
7
+
8
+ import os
9
+ from pythonagent.lang import reload
10
+ from os.path import exists
11
+
12
+ '''
13
+ import os
14
+ path = os.path.dirname(config.__file__)
15
+ #print("Module path", path)
16
+ #os.chdir(path)
17
+ #print("Current working dir ==========================================",path)
18
+
19
+ f = open(os.path.join(path, 'agent/internal/intercept_module.py'), "a+")
20
+ f.truncate(0)
21
+ #cwd = os.getcwd() # Get the current working directory (cwd)
22
+ #files = os.listdir(cwd) # Get all the files in that directory
23
+ #print("Files in %r: %s" % (cwd, files))
24
+
25
+ infile = open(r'/tmp/CavAgent/interceptor_points.txt')
26
+ outfile = open(os.path.join(path, './test.py'))
27
+ temp = []
28
+ for x in infile:
29
+ if x.startswith('#'):
30
+ temp.append(x.lstrip('#').rstrip('\n'))
31
+
32
+ for line in outfile:
33
+ count=0
34
+ for y in temp:
35
+ if y in line and 'from' not in line:
36
+ f.write('#'+line)
37
+ count = 1
38
+ if count==0:
39
+ f.write(line)
40
+
41
+
42
+ infile.close()
43
+ outfile.close()
44
+ f.close()
45
+ '''
46
+
47
+
48
+ def entry_point_refresh():
49
+ #import os
50
+ path = os.path.dirname(config.__file__)
51
+ #print("Module path", path)
52
+ #os.chdir(path)
53
+ #print("Current working dir ==========================================",path)
54
+
55
+ try:
56
+ f = open(os.path.join(path, 'agent/internal/intercept_module.py'), "w+")
57
+ #f.truncate(0)
58
+ #cwd = os.getcwd() # Get the current working directory (cwd)
59
+ #files = os.listdir(cwd) # Get all the files in that directory
60
+ #print("Files in %r: %s" % (cwd, files))
61
+
62
+ infile = open(os.environ.get('NDHOME') + '/python/hooksettings/interceptor_points.txt')
63
+ outfile = open(os.path.join(path, './test.py'))
64
+ temp = []
65
+ for x in infile:
66
+ if x.startswith('#'):
67
+ temp.append(x.lstrip('#').rstrip('\n'))
68
+
69
+ for line in outfile:
70
+ count=0
71
+ for y in temp:
72
+ if y in line and 'from' not in line:
73
+ f.write('#'+line)
74
+ count = 1
75
+ if count==0:
76
+ f.write(line)
77
+
78
+
79
+ infile.close()
80
+ outfile.close()
81
+ f.close()
82
+ except:
83
+ pass
84
+ return 0
85
+
86
+ from pythonagent.agent.probes import add_hook, Instrumentation
87
+ import logging
88
+
89
+ #RUNNING_MODE = 0
90
+ from pythonagent.agent.internal.agent import Agent
91
+
92
+ def configure(environ=None):
93
+ agent_config = config.parse_environ()
94
+ if environ:
95
+ agent_config.update(config.parse_environ(environ))
96
+
97
+ config.merge(agent_config)
98
+ configure_logging()
99
+
100
+ return config.validate_config(agent_config)
101
+
102
+
103
+
104
+ def get_all_module_names(_agent):
105
+ all_module_names = set()
106
+
107
+ # CASE 1 : Profile Created by Callback
108
+
109
+ try:
110
+ pythonagent_path = os.path.dirname(config.__file__)
111
+ instr_prof_path = os.path.join(pythonagent_path, 'agent/internal/instrprof.json')
112
+ #instr_prof_path = os.environ.get('NDHOME') + "/python/hooksettings/instrprof.json"
113
+
114
+ from pathlib import Path
115
+ instr_prof_file = Path(instr_prof_path)
116
+
117
+ if instr_prof_file.is_file():
118
+ _agent.custom_methods_to_instrument = create_method_list(instr_prof_file)
119
+ print("ALL custom methods(Instrument) callback-> ", _agent.custom_methods_to_instrument)
120
+
121
+ import json
122
+ f = None
123
+ try:
124
+ f = open(instr_prof_file, "r")
125
+ except:
126
+ pass
127
+
128
+ if f:
129
+ string_of_profiles = f.read()
130
+ list_of_profiles = string_of_profiles.split("\n\n\n")
131
+
132
+ for profile in list_of_profiles:
133
+ try:
134
+ obj2 = json.loads(profile)
135
+ except:
136
+ continue
137
+
138
+ for item in obj2:
139
+ try:
140
+ module_name = item["modulename"].split("|")[0]
141
+ all_module_names.add(module_name)
142
+ except Exception:
143
+ # Don't let one malformed entry drop every module
144
+ # name (app included) parsed after it.
145
+ _agent.logger.warning("Skipping malformed instrumentation profile entry: %r", item)
146
+ continue
147
+
148
+ return all_module_names
149
+ except:
150
+ _agent.logger.exception("Error in section: Profile Created by Callback ")
151
+
152
+
153
+ # CASE 2 : Profile Created Locally
154
+
155
+ if True:
156
+ path = os.environ.get('NDHOME')
157
+ path = path + '/python/config/ndsettings.conf'
158
+ print("path of NDC config : ", path)
159
+ myvars = {}
160
+
161
+ with open(path) as myfile:
162
+ for line in myfile:
163
+ name, var = line.partition("=")[::2]
164
+ myvars[name.strip()] = var
165
+ try:
166
+ path_for_insProfile = myvars.get('path_profile').strip('\n')
167
+ except:
168
+ path_for_insProfile= os.environ.get('NDHOME') + "/python/hooksettings/instrumentationprofile.json"
169
+ print('Profiler path at : ', path_for_insProfile)
170
+
171
+ _agent.custom_methods_to_instrument = create_method_array(path_for_insProfile)
172
+ print("ALL custom methods(Instrument) local-> ", _agent.custom_methods_to_instrument)
173
+
174
+
175
+ custom_methods_to_instrument_json = create_method_json(path_for_insProfile).get("modules", {})
176
+
177
+ for module in custom_methods_to_instrument_json:
178
+ all_module_names.add(module["moduleName"])
179
+
180
+ return all_module_names
181
+
182
+
183
+ def bootstrap(agent=None):
184
+ print("AGENT BOOTSTRAP")
185
+ first_bootstrap = True
186
+ if agent:
187
+ first_bootstrap = False
188
+ entry_point_refresh()
189
+ import pythonagent.agent.internal.intercept_module
190
+ reload(pythonagent.agent.internal.intercept_module)
191
+ from pythonagent.agent.internal.intercept_module import BT
192
+ BT_INTERCEPTORS = BT
193
+ try:
194
+ _agent = agent or get_agent_instance()
195
+ hook = add_hook(_agent)
196
+ all_module_names = get_all_module_names(_agent)
197
+ bt_top_level = {module.split('.')[0] for module, _ in BT_INTERCEPTORS}
198
+
199
+ #print("all_module_names", all_module_names)
200
+
201
+ for module, patch in BT_INTERCEPTORS:
202
+ hook.call_on_import(module, patch)
203
+ for module in all_module_names:
204
+ if module.split('.')[0] in bt_top_level:
205
+ continue
206
+ #print("MODULE NAME ", module)
207
+ hook.call_on_import(module, Instrumentation.intercept_instrumented_method)
208
+
209
+ _agent.module_interceptor = hook
210
+
211
+ return _agent
212
+ except:
213
+ logging.getLogger('pythonagent.agent').exception('Error bootstrapping pythonagent; disabling.')
214
+ return None
215
+
216
+ def get_agent_instance():
217
+ return Agent.get_instance()
218
+
219
+
@@ -0,0 +1 @@
1
+