feat: add chart id and dataset id to global logs (#26443)

This commit is contained in:
Elizabeth Thompson
2024-01-29 10:03:24 -08:00
committed by GitHub
parent fade4806ce
commit 78dc6ce6c9
2 changed files with 70 additions and 4 deletions

View File

@@ -47,7 +47,13 @@ from superset.daos.exceptions import DatasourceNotFound
from superset.exceptions import QueryObjectValidationError
from superset.extensions import event_logger
from superset.models.sql_lab import Query
from superset.utils.core import create_zip, get_user_id, json_int_dttm_ser
from superset.utils.core import (
create_zip,
DatasourceType,
get_user_id,
json_int_dttm_ser,
)
from superset.utils.decorators import logs_context
from superset.views.base import CsvResponse, generate_download_headers, XlsxResponse
from superset.views.base_api import statsd_metrics
@@ -421,6 +427,19 @@ class ChartDataRestApi(ChartRestApi):
def _load_query_context_form_from_cache(self, cache_key: str) -> dict[str, Any]:
return QueryContextCacheLoader.load(cache_key)
def _map_form_data_datasource_to_dataset_id(
self, form_data: dict[str, Any]
) -> dict[str, Any]:
return {
"dataset_id": form_data.get("datasource", {}).get("id")
if isinstance(form_data.get("datasource"), dict)
and form_data.get("datasource", {}).get("type")
== DatasourceType.TABLE.value
else None,
"slice_id": form_data.get("form_data", {}).get("slice_id"),
}
@logs_context(context_func=_map_form_data_datasource_to_dataset_id)
def _create_query_context_from_form(
self, form_data: dict[str, Any]
) -> QueryContext: