|
15 | 15 | ) |
16 | 16 | from opentelemetry.sdk.resources import SERVICE_NAME, Resource |
17 | 17 |
|
18 | | -from openfga_sdk.telemetry.configuration import ( |
19 | | - TelemetryConfiguration, |
20 | | - TelemetryMetricConfiguration, |
21 | | - TelemetryMetricsConfiguration, |
22 | | -) |
23 | | - |
24 | 18 | # For usage convenience of this example, we will import the OpenFGA SDK from the parent directory. |
25 | 19 | sdk_path = os.path.realpath(os.path.join(os.path.abspath(__file__), "..", "..", "..")) |
26 | 20 | sys.path.insert(0, sdk_path) |
|
36 | 30 | Credentials, |
37 | 31 | ) |
38 | 32 | from openfga_sdk.exceptions import FgaValidationException |
| 33 | +from openfga_sdk.telemetry.configuration import TelemetryConfiguration |
39 | 34 |
|
40 | 35 |
|
41 | 36 | class app: |
@@ -88,62 +83,62 @@ async def fga_client(self, env: dict[str, str] = {}) -> OpenFgaClient: |
88 | 83 |
|
89 | 84 | if not self._telemetry: |
90 | 85 | # Configure the telemetry metrics to be collected. |
91 | | - # Note: the following represents the default configuration values, so unless you want to change them, you can omit this step. |
92 | | - self._telemetry = TelemetryConfiguration( |
93 | | - metrics=TelemetryMetricsConfiguration( |
94 | | - counter_credentials_request=TelemetryMetricConfiguration( |
95 | | - attr_fga_client_request_client_id=True, |
96 | | - attr_fga_client_request_method=True, |
97 | | - attr_fga_client_request_model_id=True, |
98 | | - attr_fga_client_request_store_id=True, |
99 | | - attr_fga_client_response_model_id=True, |
100 | | - attr_fga_client_user=False, |
101 | | - attr_http_client_request_duration=False, |
102 | | - attr_http_host=True, |
103 | | - attr_http_request_method=True, |
104 | | - attr_http_request_resend_count=True, |
105 | | - attr_http_response_status_code=True, |
106 | | - attr_http_server_request_duration=False, |
107 | | - attr_http_url_scheme=True, |
108 | | - attr_http_url_full=True, |
109 | | - attr_user_agent_original=True, |
110 | | - ), |
111 | | - histogram_request_duration=TelemetryMetricConfiguration( |
112 | | - attr_fga_client_request_client_id=True, |
113 | | - attr_fga_client_request_method=True, |
114 | | - attr_fga_client_request_model_id=True, |
115 | | - attr_fga_client_request_store_id=True, |
116 | | - attr_fga_client_response_model_id=True, |
117 | | - attr_fga_client_user=False, |
118 | | - attr_http_client_request_duration=False, |
119 | | - attr_http_host=True, |
120 | | - attr_http_request_method=True, |
121 | | - attr_http_request_resend_count=True, |
122 | | - attr_http_response_status_code=True, |
123 | | - attr_http_server_request_duration=False, |
124 | | - attr_http_url_scheme=True, |
125 | | - attr_http_url_full=True, |
126 | | - attr_user_agent_original=True, |
127 | | - ), |
128 | | - histogram_query_duration=TelemetryMetricConfiguration( |
129 | | - attr_fga_client_request_client_id=True, |
130 | | - attr_fga_client_request_method=True, |
131 | | - attr_fga_client_request_model_id=True, |
132 | | - attr_fga_client_request_store_id=True, |
133 | | - attr_fga_client_response_model_id=True, |
134 | | - attr_fga_client_user=False, |
135 | | - attr_http_client_request_duration=False, |
136 | | - attr_http_host=True, |
137 | | - attr_http_request_method=True, |
138 | | - attr_http_request_resend_count=True, |
139 | | - attr_http_response_status_code=True, |
140 | | - attr_http_server_request_duration=False, |
141 | | - attr_http_url_scheme=True, |
142 | | - attr_http_url_full=True, |
143 | | - attr_user_agent_original=True, |
144 | | - ), |
145 | | - ), |
146 | | - ) |
| 86 | + # Note: the following represents the default configuration values, so unless you want to customize what's reported, you can omit this. |
| 87 | + self._telemetry = { |
| 88 | + "metrics": { |
| 89 | + "fga-client.credentials.request": { |
| 90 | + "fga-client.request.client_id": True, |
| 91 | + "fga-client.request.method": True, |
| 92 | + "fga-client.request.model_id": True, |
| 93 | + "fga-client.request.store_id": True, |
| 94 | + "fga-client.response.model_id": True, |
| 95 | + "fga-client.user": False, |
| 96 | + "http.client.request.duration": False, |
| 97 | + "http.host": True, |
| 98 | + "http.request.method": True, |
| 99 | + "http.request.resend_count": True, |
| 100 | + "http.response.status_code": True, |
| 101 | + "http.server.request.duration": False, |
| 102 | + "url.scheme": True, |
| 103 | + "url.full": True, |
| 104 | + "user_agent.original": True, |
| 105 | + }, |
| 106 | + "fga-client.request.duration": { |
| 107 | + "fga-client.request.client_id": True, |
| 108 | + "fga-client.request.method": True, |
| 109 | + "fga-client.request.model_id": True, |
| 110 | + "fga-client.request.store_id": True, |
| 111 | + "fga-client.response.model_id": True, |
| 112 | + "fga-client.user": False, |
| 113 | + "http.client.request.duration": False, |
| 114 | + "http.host": True, |
| 115 | + "http.request.method": True, |
| 116 | + "http.request.resend_count": True, |
| 117 | + "http.response.status_code": True, |
| 118 | + "http.server.request.duration": False, |
| 119 | + "url.scheme": True, |
| 120 | + "url.full": True, |
| 121 | + "user_agent.original": True, |
| 122 | + }, |
| 123 | + "fga-client.query.duration": { |
| 124 | + "fga-client.request.client_id": True, |
| 125 | + "fga-client.request.method": True, |
| 126 | + "fga-client.request.model_id": True, |
| 127 | + "fga-client.request.store_id": True, |
| 128 | + "fga-client.response.model_id": True, |
| 129 | + "fga-client.user": False, |
| 130 | + "http.client.request.duration": False, |
| 131 | + "http.host": True, |
| 132 | + "http.request.method": True, |
| 133 | + "http.request.resend_count": True, |
| 134 | + "http.response.status_code": True, |
| 135 | + "http.server.request.duration": False, |
| 136 | + "url.scheme": True, |
| 137 | + "url.full": True, |
| 138 | + "user_agent.original": True, |
| 139 | + }, |
| 140 | + } |
| 141 | + } |
147 | 142 |
|
148 | 143 | self._configuration.telemetry = self._telemetry |
149 | 144 |
|
|
0 commit comments