From 64aa48acca919a9a736f63dc96a8146ccf63be66 Mon Sep 17 00:00:00 2001 From: dogukan10 Date: Mon, 29 Apr 2024 09:56:28 +0300 Subject: [PATCH] :sparkles: :feat: Replace tofhir-log-server with Fluentd, Elasticsearch and Kibana stack --- README.md | 35 ++- docker/docker-compose.yml | 48 ++- docker/fluentd/Dockerfile | 15 + docker/fluentd/conf/fluent.conf | 23 ++ docker/kibana-data/export.ndjson | 14 + docker/kibana-data/index_template.txt | 24 ++ docker/log-server/Dockerfile | 11 - docker/log-server/build.sh | 4 - docker/log-server/docker-entrypoint.sh | 42 --- docker/server/docker-entrypoint.sh | 5 - pom.xml | 24 +- readme-assets/kibana-execution-details.png | Bin 0 -> 255042 bytes readme-assets/kibana-executions-dashboard.png | Bin 0 -> 23604 bytes readme-assets/kibana-go-to-dashboard.png | Bin 0 -> 35164 bytes readme-assets/kibana-index-template.png | Bin 0 -> 70077 bytes readme-assets/kibana-saved-objects.png | Bin 0 -> 186419 bytes readme-assets/module-component-diagram.png | Bin 34478 -> 27134 bytes tofhir-engine/pom.xml | 9 + tofhir-engine/src/main/resources/logback.xml | 17 ++ .../engine/data/write/SinkHandler.scala | 6 +- .../engine/execution/RunningJobRegistry.scala | 10 + .../MapMarkerToLogstashMarkerEncoder.scala | 101 +++++++ .../mapping/FhirMappingJobManager.scala | 14 +- .../engine/model/FhirMappingJobResult.scala | 34 ++- .../engine/model/FhirMappingResult.scala | 41 +-- tofhir-log-server/api.yaml | 283 ------------------ tofhir-log-server/pom.xml | 162 ---------- .../src/main/resources/application.conf | 54 ---- .../src/main/resources/logback.xml | 43 --- .../scala/io/tofhir/log/server/Boot.scala | 5 - .../log/server/ToFhirLogHttpServer.scala | 67 ----- .../tofhir/log/server/ToFhirLogServer.scala | 15 - .../server/config/ToFhirLogServerConfig.scala | 24 -- .../server/endpoint/ExecutionEndpoint.scala | 98 ------ .../log/server/service/ExecutionService.scala | 266 ---------------- .../src/test/resources/application.conf | 6 - .../src/test/resources/log-sample.log | 14 - .../server/service/ExecutionServiceTest.scala | 116 ------- tofhir-server/pom.xml | 10 +- .../src/main/resources/application.conf | 5 - tofhir-server/src/main/resources/logback.xml | 21 ++ .../scala/io/tofhir/server/ToFhirServer.scala | 5 +- .../server/config/LogServiceConfig.scala | 10 - .../tofhir/server/endpoint/JobEndpoint.scala | 67 +---- .../server/endpoint/ProjectEndpoint.scala | 5 +- .../endpoint/ToFhirServerEndpoint.scala | 6 +- .../server/service/ExecutionService.scala | 104 ++----- .../tofhir/server/util/LogServiceClient.scala | 110 ------- .../io/tofhir/server/BaseEndpointTest.scala | 5 +- .../server/service/ExecutionServiceTest.scala | 2 +- 50 files changed, 416 insertions(+), 1564 deletions(-) create mode 100644 docker/fluentd/Dockerfile create mode 100644 docker/fluentd/conf/fluent.conf create mode 100644 docker/kibana-data/export.ndjson create mode 100644 docker/kibana-data/index_template.txt delete mode 100644 docker/log-server/Dockerfile delete mode 100644 docker/log-server/build.sh delete mode 100644 docker/log-server/docker-entrypoint.sh create mode 100644 readme-assets/kibana-execution-details.png create mode 100644 readme-assets/kibana-executions-dashboard.png create mode 100644 readme-assets/kibana-go-to-dashboard.png create mode 100644 readme-assets/kibana-index-template.png create mode 100644 readme-assets/kibana-saved-objects.png create mode 100644 tofhir-engine/src/main/scala/io/tofhir/engine/logback/MapMarkerToLogstashMarkerEncoder.scala delete mode 100644 tofhir-log-server/api.yaml delete mode 100644 tofhir-log-server/pom.xml delete mode 100644 tofhir-log-server/src/main/resources/application.conf delete mode 100644 tofhir-log-server/src/main/resources/logback.xml delete mode 100644 tofhir-log-server/src/main/scala/io/tofhir/log/server/Boot.scala delete mode 100644 tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogHttpServer.scala delete mode 100644 tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogServer.scala delete mode 100644 tofhir-log-server/src/main/scala/io/tofhir/log/server/config/ToFhirLogServerConfig.scala delete mode 100644 tofhir-log-server/src/main/scala/io/tofhir/log/server/endpoint/ExecutionEndpoint.scala delete mode 100644 tofhir-log-server/src/main/scala/io/tofhir/log/server/service/ExecutionService.scala delete mode 100644 tofhir-log-server/src/test/resources/application.conf delete mode 100644 tofhir-log-server/src/test/resources/log-sample.log delete mode 100644 tofhir-log-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala delete mode 100644 tofhir-server/src/main/scala/io/tofhir/server/config/LogServiceConfig.scala delete mode 100644 tofhir-server/src/main/scala/io/tofhir/server/util/LogServiceClient.scala diff --git a/README.md b/README.md index 289188c9..54e4cbe3 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ be either persisted to a file system or to a running HL7 FHIR endpoint. toFHIR consists of the following modules: - `tofhir-engine`: The core module of toFHIR which includes the main functionality of the tool. - `tofhir-server`: A standalone web server module that provides a REST API to run mapping jobs via `tohir-engine` and manage the mapping job definitions. -- `tofhir-log-server`: A standalone web server module that provides a REST API to query the logs of the mapping job execution results. - `tofhir-server-common`: Holds common files like server configuration or errors for server implementations. - `tofhir-common`: Contains model and utility classes shared across various modules. - `tofhir-rxnorm`: Provides a client implementation to access the RxNorm API and a FHIR Path Function library to utilize its API functionalities in mapping definitions. @@ -272,11 +271,6 @@ webserver = { password = null } } - -# The service from where tofhir-server will read the logs. -log-service = { - endpoint = "http://localhost:8086/tofhir-logs" -} ``` After the server is up and running, the engine will be available via the REST API. @@ -1221,3 +1215,32 @@ Or both. This will delete the source files after processing/mapping and save the While `archiveMode` works on a file-based basis, `saveErroneousRecords` works for each record/row in the source data. Please also note that, the `archiveMode` config is only applicable for the file system source type. + +## Mapping Job Results with EFK Stack +This project utilizes the EFK Stack (Elasticsearch, Fluentd, and Kibana) to visualize the results of mapping job executions. +Once the EFK Stack is started using the provided [docker-compose.yml](docker/docker-compose.yml), Kibana can be accessed at http://localhost:5601. +### Initializing Kibana +Follow these steps to initialize Kibana with predefined configurations, dashboards, and indexes: +#### Importing Visualizations, Dashboards, and Indexes +1. Navigate to http://localhost:5601/app/management/kibana/objects +2. Click on the `Import` button and import [export.ndjson](docker/kibana-data/export.ndjson) + +![Importing Objects](readme-assets%2Fkibana-saved-objects.png) +#### Creating an Index Template for 'ignore_above' Properties of Strings +To handle potentially long log messages, increase the default value of `ignore_above` for string properties. + +1. Go to http://localhost:5601/app/dev_tools#/console +2. Copy and paste the contents of [index_template.txt](docker/kibana-data/index_template.txt) into the console and execute the request. + +![Index Template API Response](readme-assets%2Fkibana-index-template.png) + +### Kibana Dashboards +After running mapping jobs, you can view their logs via Kibana dashboards. +### Executions Dashboard +This dashboard provides an overview of each execution's result. +![Executions Dashboard](readme-assets%2Fkibana-executions-dashboard.png) +To analyze a specific execution, hover over the execution ID and click on the plus icon next to it. Then, select the `Go to Dashboard` option as shown below: +![Go to Dashboard](readme-assets%2Fkibana-go-to-dashboard.png) +### Execution Details Dashboard +This dashboard displays the results of individual mapping tasks and any corresponding errors. +![Execution Details Dashboard](readme-assets%2Fkibana-execution-details.png) \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 5f594442..09bdd841 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,21 +1,10 @@ version: '3.9' services: - tofhir-log-server: - image: srdc/tofhir-log-server:latest - container_name: tofhir-log-server - hostname: tofhir-log-server - ports: - - "8086:8086" - networks: - - tofhir-network - volumes: - - './tofhir-docker-logs:/usr/local/tofhir/logs' tofhir-server: image: srdc/tofhir-server:latest container_name: tofhir-server hostname: tofhir-server environment: - - LOG_SERVICE_ENDPOINT=http://tofhir-log-server:8086/tofhir-logs - FHIR_DEFINITIONS_ENDPOINT=http://onfhir:8080/fhir - FHIR_REPO_URL=http://onfhir:8080/fhir - APP_CONF_FILE=/usr/local/tofhir/conf/docker/tofhir-server.conf @@ -34,7 +23,44 @@ services: - "8087:80" networks: - tofhir-network + # Elasticsearch, Fluentd and Kibana stack for mapping job log management + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2 + container_name: elasticsearch + environment: + - discovery.type=single-node + ports: + - "9200:9200" + networks: + - tofhir-network + volumes: + - elasticsearch_data:/usr/share/elasticsearch/data + fluentd: + build: ./fluentd + container_name: fluentd + volumes: + - ./fluentd/conf:/fluentd/etc + ports: + - "24224:24224" + - "24224:24224/udp" + networks: + - tofhir-network + # TODO: Investigate if it's possible to populate predefined Kibana visualizations, dashboards, and indexes + # using Docker. This could involve making API calls or utilizing volumes. + # The current approach is the utilize Kibana UI as described in the README file. + kibana: + image: docker.elastic.co/kibana/kibana:7.15.2 + container_name: kibana + ports: + - "5601:5601" + networks: + - tofhir-network + depends_on: + - elasticsearch networks: tofhir-network: name: onfhir-network external: true +volumes: + elasticsearch_data: + driver: local \ No newline at end of file diff --git a/docker/fluentd/Dockerfile b/docker/fluentd/Dockerfile new file mode 100644 index 00000000..eb33162b --- /dev/null +++ b/docker/fluentd/Dockerfile @@ -0,0 +1,15 @@ +#Specifies the base image for building the Fluentd Docker image +FROM fluent/fluentd:v1.11-1 +#Switches to the root user account to perform package installations and configurations. +USER root +#Installs necessary packages and dependencies using the Alpine package manager (apk). +RUN apk add --no-cache --update --virtual .build-deps \ + sudo build-base ruby-dev \ + && sudo gem install faraday -v 2.8.1 \ + && sudo gem install faraday-net_http -v 3.0.2 \ + && sudo gem install fluent-plugin-elasticsearch \ + && sudo gem sources --clear-all \ + && apk del .build-deps \ + && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem +# Switches back to the fluent user account to run Fluentd. +USER fluent \ No newline at end of file diff --git a/docker/fluentd/conf/fluent.conf b/docker/fluentd/conf/fluent.conf new file mode 100644 index 00000000..34a7fe61 --- /dev/null +++ b/docker/fluentd/conf/fluent.conf @@ -0,0 +1,23 @@ +// Defines a Fluentd configuration for forwarding logs to Elasticsearch. + + + // Specifies the input plugin type as 'forward', which receives log entries forwarded by Fluentd clients. + @type forward + // Specifies the port on which the forward input plugin listens for incoming log entries. + port 24224 + + + + // Specifies the output plugin type as 'elasticsearch', which sends log entries to an Elasticsearch cluster. + @type elasticsearch + // Specifies the host address of the Elasticsearch cluster. + host elasticsearch + // Specifies the port number of the Elasticsearch cluster. + port 9200 + // Configures the output format to be compatible with Logstash. + logstash_format true + // Specifies the prefix to be added to the index name in Elasticsearch. + logstash_prefix fluentd + // Specifies the interval at which buffered log entries are flushed to Elasticsearch. + flush_interval 5s + \ No newline at end of file diff --git a/docker/kibana-data/export.ndjson b/docker/kibana-data/export.ndjson new file mode 100644 index 00000000..9d207978 --- /dev/null +++ b/docker/kibana-data/export.ndjson @@ -0,0 +1,14 @@ +{"attributes":{"accessCount":22,"accessDate":1714047836559,"createDate":1713268358357,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?embed=true&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(c7e3cb49-4024-4ae7-94ed-e4f26c211329,%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,%2747086a8d-d782-4a96-bf3b-74d085df7923%27,c65d2548-c412-43ab-a468-7f8872db19a2),columns:(%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Start%20Time%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:%27@timestamp-original%27),%2747086a8d-d782-4a96-bf3b-74d085df7923%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Error%20Status%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:result.keyword),c65d2548-c412-43ab-a468-7f8872db19a2:(dataType:number,isBucketed:!f,label:%27Count%20of%20records%27,operationType:count,scale:ratio,sourceField:Records),c7e3cb49-4024-4ae7-94ed-e4f26c211329:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:c7e3cb49-4024-4ae7-94ed-e4f26c211329,isTransposed:!f),(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,isTransposed:!f),(columnId:%2747086a8d-d782-4a96-bf3b-74d085df7923%27,isTransposed:!f),(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,hidden:!t,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data)),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:15,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:24,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:view)&show-query-input=true&show-time-filter=true"},"coreMigrationVersion":"7.15.2","id":"0c52344e47af8f96bbb54b2c911cbdf7","references":[],"sort":[1714047836559,953],"type":"url","updated_at":"2024-04-25T12:23:56.559Z","version":"WzIwNjcwLDEzXQ=="} +{"attributes":{"fieldAttrs":"{\"result\":{\"count\":2}}","fieldFormatMap":"{\"@timestamp-original\":{\"id\":\"string\",\"params\":{\"parsedUrl\":{\"origin\":\"http://localhost:5601\",\"pathname\":\"/app/management/data/index_management/indices\",\"basePath\":\"\"},\"pattern\":\"0,0.[000]\"}}}","fields":"[{\"count\":0,\"script\":\"doc['@timestamp']\",\"lang\":\"painless\",\"name\":\"@timestamp-original\",\"type\":\"string\",\"scripted\":true,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"count\":0,\"script\":\"if(doc['numOfNotMapped'].size() == 0){\\n return 0;\\n}\\nelse if(doc['numOfNotMapped'].value == -1){\\n return 0;\\n}\\nelse {\\n return doc['numOfNotMapped'].value;\\n}\",\"lang\":\"painless\",\"name\":\"normalizedNumOfNotMapped\",\"type\":\"number\",\"scripted\":true,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false,\"customLabel\":\"\"},{\"count\":0,\"script\":\"if(doc['numOfFailedWrites'].size() == 0){\\r\\n return 0;\\r\\n}\\r\\nelse if(doc['numOfFailedWrites'].value == -1){\\r\\n return 0;\\r\\n}\\r\\nelse {\\r\\n return doc['numOfFailedWrites'].value;\\r\\n}\",\"lang\":\"painless\",\"name\":\"normalizedNumOfFailedWrites\",\"type\":\"number\",\"scripted\":true,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false,\"customLabel\":\"\"},{\"count\":0,\"script\":\"if(doc['numOfInvalids'].size() == 0){\\r\\n return 0;\\r\\n}\\r\\nelse if(doc['numOfInvalids'].value == -1){\\r\\n return 0;\\r\\n}\\r\\nelse {\\r\\n return doc['numOfInvalids'].value;\\r\\n}\",\"lang\":\"painless\",\"name\":\"normalizedNumOfInvalids\",\"type\":\"number\",\"scripted\":true,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false,\"customLabel\":\"\"},{\"count\":0,\"script\":\"if(doc['numOfFhirResources'].size() == 0){\\r\\n return 0;\\r\\n}\\r\\nelse if(doc['numOfFhirResources'].value == -1){\\r\\n return 0;\\r\\n}\\r\\nelse {\\r\\n return doc['numOfFhirResources'].value;\\r\\n}\",\"lang\":\"painless\",\"name\":\"normalizedNumOfFhirResources\",\"type\":\"number\",\"scripted\":true,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false,\"customLabel\":\"\"}]","runtimeFieldMap":"{}","timeFieldName":"@timestamp","title":"fluentd*","typeMeta":"{}"},"coreMigrationVersion":"7.15.2","id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","migrationVersion":{"index-pattern":"7.11.0"},"references":[],"sort":[1713962901850,795],"type":"index-pattern","updated_at":"2024-04-24T12:48:21.850Z","version":"WzIwNTIwLDEzXQ=="} +{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":false,\"hidePanelTitles\":false}","panelsJSON":"[{\"version\":\"7.15.2\",\"type\":\"visualization\",\"gridData\":{\"x\":0,\"y\":0,\"w\":48,\"h\":3,\"i\":\"ecd350a2-0317-4f66-b2cb-80596e4a0689\"},\"panelIndex\":\"ecd350a2-0317-4f66-b2cb-80596e4a0689\",\"embeddableConfig\":{\"savedVis\":{\"title\":\"\",\"description\":\"\",\"type\":\"markdown\",\"params\":{\"fontSize\":12,\"openLinksInNewTab\":false,\"markdown\":\"Go back to [Executions Dashboard](http://localhost:5601/goto/2a517919d8081cb04ccd2c61a0e1c74a)\\n\"},\"uiState\":{},\"data\":{\"aggs\":[],\"searchSource\":{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}}},\"enhancements\":{}}},{\"version\":\"7.15.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":3,\"w\":48,\"h\":14,\"i\":\"9f083d19-1515-40d5-b078-918dd8b0f5ed\"},\"panelIndex\":\"9f083d19-1515-40d5-b078-918dd8b0f5ed\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-layer-045875b2-5639-4e09-a9f0-06a2bc94627c\"}],\"state\":{\"visualization\":{\"layerId\":\"045875b2-5639-4e09-a9f0-06a2bc94627c\",\"layerType\":\"data\",\"columns\":[{\"isTransposed\":false,\"columnId\":\"a9105d68-f41f-4a6a-bcf2-88afb2753911\",\"width\":448.83333333333337},{\"isTransposed\":false,\"columnId\":\"200d4609-5416-4b35-9eb7-bbf58e4e940b\",\"hidden\":true},{\"isTransposed\":false,\"columnId\":\"e71b0e35-d05f-47c0-bac4-80e0c501d6cc\"},{\"isTransposed\":false,\"columnId\":\"5d44faff-382c-484d-9fa8-d4660f26805e\"},{\"isTransposed\":false,\"columnId\":\"bda664e6-f527-4e55-880a-be71839aef3a\"},{\"isTransposed\":false,\"columnId\":\"08108aa9-c895-48be-b8c6-5888ef415407\"},{\"columnId\":\"f431fd4e-b333-4ec2-a4b6-2cebf08b179c\",\"isTransposed\":false}],\"sorting\":{\"columnId\":\"a9105d68-f41f-4a6a-bcf2-88afb2753911\",\"direction\":\"asc\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"045875b2-5639-4e09-a9f0-06a2bc94627c\":{\"columns\":{\"a9105d68-f41f-4a6a-bcf2-88afb2753911\":{\"label\":\"Mapping URL\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"mappingUrl.keyword\",\"isBucketed\":true,\"params\":{\"size\":1000,\"orderBy\":{\"type\":\"column\",\"columnId\":\"200d4609-5416-4b35-9eb7-bbf58e4e940b\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"200d4609-5416-4b35-9eb7-bbf58e4e940b\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"e71b0e35-d05f-47c0-bac4-80e0c501d6cc\":{\"label\":\"Num Of Invalids\",\"dataType\":\"number\",\"operationType\":\"sum\",\"sourceField\":\"normalizedNumOfInvalids\",\"isBucketed\":false,\"scale\":\"ratio\",\"customLabel\":true},\"5d44faff-382c-484d-9fa8-d4660f26805e\":{\"label\":\"Num Of Not Mapped\",\"dataType\":\"number\",\"operationType\":\"sum\",\"sourceField\":\"normalizedNumOfNotMapped\",\"isBucketed\":false,\"scale\":\"ratio\",\"customLabel\":true},\"bda664e6-f527-4e55-880a-be71839aef3a\":{\"label\":\"Num Of Failed Writes\",\"dataType\":\"number\",\"operationType\":\"sum\",\"sourceField\":\"normalizedNumOfFailedWrites\",\"isBucketed\":false,\"scale\":\"ratio\",\"customLabel\":true},\"08108aa9-c895-48be-b8c6-5888ef415407\":{\"label\":\"Num Of Fhir Resources\",\"dataType\":\"number\",\"operationType\":\"sum\",\"sourceField\":\"normalizedNumOfFhirResources\",\"isBucketed\":false,\"scale\":\"ratio\",\"customLabel\":true},\"f431fd4e-b333-4ec2-a4b6-2cebf08b179c\":{\"label\":\"Result\",\"dataType\":\"string\",\"operationType\":\"last_value\",\"isBucketed\":false,\"scale\":\"ordinal\",\"sourceField\":\"result.keyword\",\"params\":{\"sortField\":\"@timestamp\"},\"customLabel\":true}},\"columnOrder\":[\"a9105d68-f41f-4a6a-bcf2-88afb2753911\",\"200d4609-5416-4b35-9eb7-bbf58e4e940b\",\"f431fd4e-b333-4ec2-a4b6-2cebf08b179c\",\"e71b0e35-d05f-47c0-bac4-80e0c501d6cc\",\"5d44faff-382c-484d-9fa8-d4660f26805e\",\"bda664e6-f527-4e55-880a-be71839aef3a\",\"08108aa9-c895-48be-b8c6-5888ef415407\"],\"incompleteColumns\":{}}}}}}},\"enhancements\":{},\"hidePanelTitles\":false},\"title\":\"Mapping Tasks\"},{\"version\":\"7.15.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":17,\"w\":48,\"h\":15,\"i\":\"cc5f4b91-a8a1-4a46-b6af-fcf27bd2cc9a\"},\"panelIndex\":\"cc5f4b91-a8a1-4a46-b6af-fcf27bd2cc9a\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-layer-da995f15-8b40-4a27-8e2f-ecf572761658\"}],\"state\":{\"visualization\":{\"layerId\":\"da995f15-8b40-4a27-8e2f-ecf572761658\",\"layerType\":\"data\",\"columns\":[{\"isTransposed\":false,\"columnId\":\"f53828c9-3afc-4907-bb6a-2c535ccf27d3\"},{\"isTransposed\":false,\"columnId\":\"12bdb40b-542b-40e4-a4f6-0eb2e460d0ac\"},{\"isTransposed\":false,\"columnId\":\"eef089a3-5333-4e64-9a67-5801a4c8ca9b\",\"hidden\":true}]},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"da995f15-8b40-4a27-8e2f-ecf572761658\":{\"columns\":{\"f53828c9-3afc-4907-bb6a-2c535ccf27d3\":{\"label\":\"Stack Trace\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"throwable.keyword\",\"isBucketed\":true,\"params\":{\"size\":1000,\"orderBy\":{\"type\":\"column\",\"columnId\":\"eef089a3-5333-4e64-9a67-5801a4c8ca9b\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"12bdb40b-542b-40e4-a4f6-0eb2e460d0ac\":{\"label\":\"Mapping URL\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"mappingUrl.keyword\",\"isBucketed\":true,\"params\":{\"size\":1000,\"orderBy\":{\"type\":\"column\",\"columnId\":\"eef089a3-5333-4e64-9a67-5801a4c8ca9b\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"eef089a3-5333-4e64-9a67-5801a4c8ca9b\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"}},\"columnOrder\":[\"12bdb40b-542b-40e4-a4f6-0eb2e460d0ac\",\"f53828c9-3afc-4907-bb6a-2c535ccf27d3\",\"eef089a3-5333-4e64-9a67-5801a4c8ca9b\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Mapping Task Execution Errors\"},{\"version\":\"7.15.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":32,\"w\":48,\"h\":11,\"i\":\"8f8ec50c-37e3-4c3f-aa05-889b981892d2\"},\"panelIndex\":\"8f8ec50c-37e3-4c3f-aa05-889b981892d2\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-layer-531e2a4d-3863-4033-8c76-2a1386ab1e17\"}],\"state\":{\"visualization\":{\"columns\":[{\"isTransposed\":false,\"columnId\":\"e2b16ad6-47e2-473f-bddb-66d67a486b98\"},{\"isTransposed\":false,\"columnId\":\"d4664133-34fb-4fbb-ae84-5ad4b43fdf7e\"},{\"isTransposed\":false,\"columnId\":\"3905b6ac-675a-4033-817e-ab5c677d7391\"},{\"isTransposed\":false,\"columnId\":\"09621465-1768-488c-95e1-95a3aa63f289\"},{\"isTransposed\":false,\"columnId\":\"6283eb86-046f-4e45-8503-dba05d1934a8\"},{\"isTransposed\":false,\"columnId\":\"18410b40-aa47-4442-a4e3-ec8fa015c107\",\"hidden\":false}],\"layerId\":\"531e2a4d-3863-4033-8c76-2a1386ab1e17\",\"layerType\":\"data\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"531e2a4d-3863-4033-8c76-2a1386ab1e17\":{\"columns\":{\"e2b16ad6-47e2-473f-bddb-66d67a486b98\":{\"label\":\"Mapping URL\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"mappingUrl.keyword\",\"isBucketed\":true,\"params\":{\"size\":1000,\"orderBy\":{\"type\":\"column\",\"columnId\":\"18410b40-aa47-4442-a4e3-ec8fa015c107\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"d4664133-34fb-4fbb-ae84-5ad4b43fdf7e\":{\"label\":\"Code\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"errorCode.keyword\",\"isBucketed\":true,\"params\":{\"size\":100,\"orderBy\":{\"type\":\"column\",\"columnId\":\"18410b40-aa47-4442-a4e3-ec8fa015c107\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"3905b6ac-675a-4033-817e-ab5c677d7391\":{\"label\":\"Description\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"errorDesc.keyword\",\"isBucketed\":true,\"params\":{\"size\":1000,\"orderBy\":{\"type\":\"column\",\"columnId\":\"18410b40-aa47-4442-a4e3-ec8fa015c107\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"09621465-1768-488c-95e1-95a3aa63f289\":{\"label\":\"Expression\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"errorExpr.keyword\",\"isBucketed\":true,\"params\":{\"size\":1000,\"orderBy\":{\"type\":\"column\",\"columnId\":\"18410b40-aa47-4442-a4e3-ec8fa015c107\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":true},\"customLabel\":true},\"6283eb86-046f-4e45-8503-dba05d1934a8\":{\"label\":\"Source\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"source.keyword\",\"isBucketed\":true,\"params\":{\"size\":1000,\"orderBy\":{\"type\":\"column\",\"columnId\":\"18410b40-aa47-4442-a4e3-ec8fa015c107\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"18410b40-aa47-4442-a4e3-ec8fa015c107\":{\"label\":\"Count\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"customLabel\":true}},\"columnOrder\":[\"e2b16ad6-47e2-473f-bddb-66d67a486b98\",\"d4664133-34fb-4fbb-ae84-5ad4b43fdf7e\",\"3905b6ac-675a-4033-817e-ab5c677d7391\",\"09621465-1768-488c-95e1-95a3aa63f289\",\"6283eb86-046f-4e45-8503-dba05d1934a8\",\"18410b40-aa47-4442-a4e3-ec8fa015c107\"],\"incompleteColumns\":{}}}}}}},\"enhancements\":{},\"hidePanelTitles\":false},\"title\":\"Mapping Errors\"}]","timeRestore":false,"title":"Execution Details","version":1},"coreMigrationVersion":"7.15.2","id":"994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5","migrationVersion":{"dashboard":"7.15.0"},"references":[{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"9f083d19-1515-40d5-b078-918dd8b0f5ed:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"9f083d19-1515-40d5-b078-918dd8b0f5ed:indexpattern-datasource-layer-045875b2-5639-4e09-a9f0-06a2bc94627c","type":"index-pattern"},{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"cc5f4b91-a8a1-4a46-b6af-fcf27bd2cc9a:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"cc5f4b91-a8a1-4a46-b6af-fcf27bd2cc9a:indexpattern-datasource-layer-da995f15-8b40-4a27-8e2f-ecf572761658","type":"index-pattern"},{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"8f8ec50c-37e3-4c3f-aa05-889b981892d2:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"8f8ec50c-37e3-4c3f-aa05-889b981892d2:indexpattern-datasource-layer-531e2a4d-3863-4033-8c76-2a1386ab1e17","type":"index-pattern"}],"sort":[1714045615795,945],"type":"dashboard","updated_at":"2024-04-25T11:46:55.795Z","version":"WzIwNjYyLDEzXQ=="} +{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":false,\"hidePanelTitles\":false}","panelsJSON":"[{\"version\":\"7.15.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":0,\"w\":48,\"h\":16,\"i\":\"d62f4d3d-027b-408d-b8ad-62404b90a057\"},\"panelIndex\":\"d62f4d3d-027b-408d-b8ad-62404b90a057\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5\",\"name\":\"indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca\"},{\"name\":\"drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId\",\"type\":\"dashboard\",\"id\":\"994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5\"}],\"state\":{\"visualization\":{\"layerId\":\"a67e6635-b164-4c45-a563-bbe4ca458fca\",\"layerType\":\"data\",\"columns\":[{\"isTransposed\":false,\"columnId\":\"73954412-33dd-4460-9ed0-25fb11272df8\",\"width\":297.66666666666663},{\"columnId\":\"6c1cf201-6770-49ee-9056-9bc1f009f5da\",\"isTransposed\":false},{\"columnId\":\"567b3cde-4bc5-4155-82bb-8c0f1097af27\",\"isTransposed\":false},{\"columnId\":\"6e4b599c-1d09-46c1-83b7-d66df0337009\",\"isTransposed\":false},{\"columnId\":\"8c65e9ca-7985-43ec-ae2e-7791dff2e7d3\",\"isTransposed\":false,\"width\":213.66666666666666},{\"columnId\":\"76358e4d-51dc-4bb7-9763-45c422e51e5b\",\"isTransposed\":false}],\"sorting\":{\"columnId\":\"8c65e9ca-7985-43ec-ae2e-7791dff2e7d3\",\"direction\":\"desc\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"a67e6635-b164-4c45-a563-bbe4ca458fca\":{\"columns\":{\"73954412-33dd-4460-9ed0-25fb11272df8\":{\"label\":\"Execution ID\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"executionId.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"alphabetical\",\"fallback\":true},\"orderDirection\":\"asc\",\"otherBucket\":true,\"missingBucket\":false},\"customLabel\":true},\"6c1cf201-6770-49ee-9056-9bc1f009f5daX0\":{\"label\":\"Part of count(kql='result : SUCCESS')\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"filter\":{\"query\":\"result : SUCCESS\",\"language\":\"kuery\"},\"customLabel\":true},\"6c1cf201-6770-49ee-9056-9bc1f009f5da\":{\"label\":\"Success Count\",\"dataType\":\"number\",\"operationType\":\"formula\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"formula\":\"count(kql='result : SUCCESS')\",\"isFormulaBroken\":false},\"references\":[\"6c1cf201-6770-49ee-9056-9bc1f009f5daX0\"],\"customLabel\":true},\"6e4b599c-1d09-46c1-83b7-d66df0337009X0\":{\"label\":\"Part of Partial Success Count\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"filter\":{\"query\":\"result : PARTIAL_SUCCESS\",\"language\":\"kuery\"},\"customLabel\":true},\"6e4b599c-1d09-46c1-83b7-d66df0337009\":{\"label\":\"Partial Success Count\",\"dataType\":\"number\",\"operationType\":\"formula\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"formula\":\"count(kql='result : PARTIAL_SUCCESS')\",\"isFormulaBroken\":false},\"references\":[\"6e4b599c-1d09-46c1-83b7-d66df0337009X0\"],\"customLabel\":true},\"567b3cde-4bc5-4155-82bb-8c0f1097af27X0\":{\"label\":\"Part of Failure Count\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"filter\":{\"query\":\"result: FAILURE\",\"language\":\"kuery\"},\"customLabel\":true},\"567b3cde-4bc5-4155-82bb-8c0f1097af27\":{\"label\":\"Failure Count\",\"dataType\":\"number\",\"operationType\":\"formula\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"formula\":\"count(kql='result: FAILURE')\",\"isFormulaBroken\":false},\"references\":[\"567b3cde-4bc5-4155-82bb-8c0f1097af27X0\"],\"customLabel\":true},\"8c65e9ca-7985-43ec-ae2e-7791dff2e7d3\":{\"label\":\"Timestamp\",\"dataType\":\"string\",\"operationType\":\"last_value\",\"isBucketed\":false,\"scale\":\"ordinal\",\"sourceField\":\"@timestamp-original\",\"params\":{\"sortField\":\"@timestamp\"},\"customLabel\":true},\"76358e4d-51dc-4bb7-9763-45c422e51e5bX0\":{\"label\":\"Part of Started Tasks\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"filter\":{\"query\":\"result : STARTED\",\"language\":\"kuery\"},\"customLabel\":true},\"76358e4d-51dc-4bb7-9763-45c422e51e5bX1\":{\"label\":\"Part of Started Tasks\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"filter\":{\"query\":\"result : SUCCESS\",\"language\":\"kuery\"},\"customLabel\":true},\"76358e4d-51dc-4bb7-9763-45c422e51e5bX2\":{\"label\":\"Part of Started Tasks\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"filter\":{\"query\":\"result: FAILURE\",\"language\":\"kuery\"},\"customLabel\":true},\"76358e4d-51dc-4bb7-9763-45c422e51e5bX3\":{\"label\":\"Part of Started Tasks\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\",\"filter\":{\"query\":\"result : PARTIAL_SUCCESS\",\"language\":\"kuery\"},\"customLabel\":true},\"76358e4d-51dc-4bb7-9763-45c422e51e5bX4\":{\"label\":\"Part of Started Tasks\",\"dataType\":\"number\",\"operationType\":\"math\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"tinymathAst\":{\"type\":\"function\",\"name\":\"subtract\",\"args\":[{\"type\":\"function\",\"name\":\"subtract\",\"args\":[{\"type\":\"function\",\"name\":\"subtract\",\"args\":[\"76358e4d-51dc-4bb7-9763-45c422e51e5bX0\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX1\"]},\"76358e4d-51dc-4bb7-9763-45c422e51e5bX2\"]},\"76358e4d-51dc-4bb7-9763-45c422e51e5bX3\"],\"location\":{\"min\":0,\"max\":132},\"text\":\"count(kql='result : STARTED') - count(kql='result : SUCCESS') - count(kql='result: FAILURE') - count(kql='result : PARTIAL_SUCCESS')\"}},\"references\":[\"76358e4d-51dc-4bb7-9763-45c422e51e5bX0\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX1\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX2\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX3\"],\"customLabel\":true},\"76358e4d-51dc-4bb7-9763-45c422e51e5b\":{\"label\":\"Ongoing Tasks\",\"dataType\":\"number\",\"operationType\":\"formula\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"formula\":\"count(kql='result : STARTED') - count(kql='result : SUCCESS') - count(kql='result: FAILURE') - count(kql='result : PARTIAL_SUCCESS')\",\"isFormulaBroken\":false},\"references\":[\"76358e4d-51dc-4bb7-9763-45c422e51e5bX4\"],\"customLabel\":true}},\"columnOrder\":[\"73954412-33dd-4460-9ed0-25fb11272df8\",\"8c65e9ca-7985-43ec-ae2e-7791dff2e7d3\",\"76358e4d-51dc-4bb7-9763-45c422e51e5b\",\"6c1cf201-6770-49ee-9056-9bc1f009f5da\",\"6c1cf201-6770-49ee-9056-9bc1f009f5daX0\",\"567b3cde-4bc5-4155-82bb-8c0f1097af27\",\"567b3cde-4bc5-4155-82bb-8c0f1097af27X0\",\"6e4b599c-1d09-46c1-83b7-d66df0337009\",\"6e4b599c-1d09-46c1-83b7-d66df0337009X0\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX0\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX1\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX2\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX3\",\"76358e4d-51dc-4bb7-9763-45c422e51e5bX4\"],\"incompleteColumns\":{}}}}}}},\"enhancements\":{\"dynamicActions\":{\"events\":[{\"eventId\":\"78a728c0-3ead-4511-8742-5840b4e891b3\",\"triggers\":[\"FILTER_TRIGGER\"],\"action\":{\"factoryId\":\"DASHBOARD_TO_DASHBOARD_DRILLDOWN\",\"name\":\"Go to Dashboard\",\"config\":{\"useCurrentFilters\":true,\"useCurrentDateRange\":true}}}]}}}}]","timeRestore":false,"title":"Executions","version":1},"coreMigrationVersion":"7.15.2","id":"0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5","migrationVersion":{"dashboard":"7.15.0"},"references":[{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"d62f4d3d-027b-408d-b8ad-62404b90a057:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5","name":"d62f4d3d-027b-408d-b8ad-62404b90a057:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca","type":"index-pattern"},{"id":"994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5","name":"d62f4d3d-027b-408d-b8ad-62404b90a057:drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId","type":"dashboard"},{"id":"994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5","name":"d62f4d3d-027b-408d-b8ad-62404b90a057:drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId","type":"dashboard"}],"sort":[1714045118193,931],"type":"dashboard","updated_at":"2024-04-25T11:38:38.193Z","version":"WzIwNjUzLDEzXQ=="} +{"attributes":{"accessCount":1,"accessDate":1713774467694,"createDate":1713774391835,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(c7e3cb49-4024-4ae7-94ed-e4f26c211329,%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,%2747086a8d-d782-4a96-bf3b-74d085df7923%27,c65d2548-c412-43ab-a468-7f8872db19a2),columns:(%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Start%20Time%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:asc,otherBucket:!t,size:3),scale:ordinal,sourceField:%27@timestamp-original%27),%2747086a8d-d782-4a96-bf3b-74d085df7923%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Error%20Status%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:result.keyword),c65d2548-c412-43ab-a468-7f8872db19a2:(dataType:number,isBucketed:!f,label:%27Count%20of%20records%27,operationType:count,scale:ratio,sourceField:Records),c7e3cb49-4024-4ae7-94ed-e4f26c211329:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:c7e3cb49-4024-4ae7-94ed-e4f26c211329,isTransposed:!f),(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,isTransposed:!f),(columnId:%2747086a8d-d782-4a96-bf3b-74d085df7923%27,isTransposed:!f),(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,hidden:!t,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data,sorting:(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,direction:desc))),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:15,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:24,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:edit)"},"coreMigrationVersion":"7.15.2","id":"10e336e54901315dfa88c7b31b0a46e0","references":[],"sort":[1713774467694,515],"type":"url","updated_at":"2024-04-22T08:27:47.694Z","version":"WzIwMTk4LDEzXQ=="} +{"attributes":{"accessCount":1,"accessDate":1714045528225,"createDate":1714045492705,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?embed=true&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(%2773954412-33dd-4460-9ed0-25fb11272df8%27,%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5b%27,%276c1cf201-6770-49ee-9056-9bc1f009f5da%27,%276c1cf201-6770-49ee-9056-9bc1f009f5daX0%27,%27567b3cde-4bc5-4155-82bb-8c0f1097af27%27,%27567b3cde-4bc5-4155-82bb-8c0f1097af27X0%27,%276e4b599c-1d09-46c1-83b7-d66df0337009%27,%276e4b599c-1d09-46c1-83b7-d66df0337009X0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX4%27),columns:(%27567b3cde-4bc5-4155-82bb-8c0f1097af27%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Failure%20Count%27,operationType:formula,params:(formula:%27count(kql%3D!%27result:%20FAILURE!%27)%27,isFormulaBroken:!f),references:!(%27567b3cde-4bc5-4155-82bb-8c0f1097af27X0%27),scale:ratio),%27567b3cde-4bc5-4155-82bb-8c0f1097af27X0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result:%20FAILURE%27),isBucketed:!f,label:%27Part%20of%20Failure%20Count%27,operationType:count,scale:ratio,sourceField:Records),%276c1cf201-6770-49ee-9056-9bc1f009f5da%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Success%20Count%27,operationType:formula,params:(formula:%27count(kql%3D!%27result%20:%20SUCCESS!%27)%27,isFormulaBroken:!f),references:!(%276c1cf201-6770-49ee-9056-9bc1f009f5daX0%27),scale:ratio),%276c1cf201-6770-49ee-9056-9bc1f009f5daX0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20SUCCESS%27),isBucketed:!f,label:%27Part%20of%20count(kql%3D!%27result%20:%20SUCCESS!%27)%27,operationType:count,scale:ratio,sourceField:Records),%276e4b599c-1d09-46c1-83b7-d66df0337009%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Partial%20Success%20Count%27,operationType:formula,params:(formula:%27count(kql%3D!%27result%20:%20PARTIAL_SUCCESS!%27)%27,isFormulaBroken:!f),references:!(%276e4b599c-1d09-46c1-83b7-d66df0337009X0%27),scale:ratio),%276e4b599c-1d09-46c1-83b7-d66df0337009X0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20PARTIAL_SUCCESS%27),isBucketed:!f,label:%27Part%20of%20Partial%20Success%20Count%27,operationType:count,scale:ratio,sourceField:Records),%2773954412-33dd-4460-9ed0-25fb11272df8%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(fallback:!t,type:alphabetical),orderDirection:asc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword),%2776358e4d-51dc-4bb7-9763-45c422e51e5b%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Ongoing%20Tasks%27,operationType:formula,params:(formula:%27count(kql%3D!%27result%20:%20STARTED!%27)%20-%20count(kql%3D!%27result%20:%20SUCCESS!%27)%20-%20count(kql%3D!%27result:%20FAILURE!%27)%20-%20count(kql%3D!%27result%20:%20PARTIAL_SUCCESS!%27)%27,isFormulaBroken:!f),references:!(%2776358e4d-51dc-4bb7-9763-45c422e51e5bX4%27),scale:ratio),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20STARTED%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20SUCCESS%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result:%20FAILURE%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20PARTIAL_SUCCESS%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX4%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:math,params:(tinymathAst:(args:!((args:!((args:!(%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27),name:subtract,type:function),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27),name:subtract,type:function),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27),location:(max:132,min:0),name:subtract,text:%27count(kql%3D!%27result%20:%20STARTED!%27)%20-%20count(kql%3D!%27result%20:%20SUCCESS!%27)%20-%20count(kql%3D!%27result:%20FAILURE!%27)%20-%20count(kql%3D!%27result%20:%20PARTIAL_SUCCESS!%27)%27,type:function)),references:!(%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27),scale:ratio),%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27:(customLabel:!t,dataType:string,isBucketed:!f,label:Timestamp,operationType:last_value,params:(sortField:%27@timestamp%27),scale:ordinal,sourceField:%27@timestamp-original%27)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:%2773954412-33dd-4460-9ed0-25fb11272df8%27,isTransposed:!f,width:297.66666666666663),(columnId:%276c1cf201-6770-49ee-9056-9bc1f009f5da%27,isTransposed:!f),(columnId:%27567b3cde-4bc5-4155-82bb-8c0f1097af27%27,isTransposed:!f),(columnId:%276e4b599c-1d09-46c1-83b7-d66df0337009%27,isTransposed:!f),(columnId:%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27,isTransposed:!f,width:213.66666666666666),(columnId:%2776358e4d-51dc-4bb7-9763-45c422e51e5b%27,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data,sorting:(columnId:%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27,direction:desc))),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:16,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:48,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:view)&show-query-input=true&show-time-filter=true"},"coreMigrationVersion":"7.15.2","id":"2a517919d8081cb04ccd2c61a0e1c74a","references":[],"sort":[1714045528226,935],"type":"url","updated_at":"2024-04-25T11:45:28.226Z","version":"WzIwNjU4LDEzXQ=="} +{"attributes":{"accessCount":4,"accessDate":1713268236271,"createDate":1713268122764,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?embed=true&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(c7e3cb49-4024-4ae7-94ed-e4f26c211329,%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,%2747086a8d-d782-4a96-bf3b-74d085df7923%27,c65d2548-c412-43ab-a468-7f8872db19a2),columns:(%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Start%20Time%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:%27@timestamp-original%27),%2747086a8d-d782-4a96-bf3b-74d085df7923%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Error%20Status%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:result.keyword),c65d2548-c412-43ab-a468-7f8872db19a2:(dataType:number,isBucketed:!f,label:%27Count%20of%20records%27,operationType:count,scale:ratio,sourceField:Records),c7e3cb49-4024-4ae7-94ed-e4f26c211329:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:c7e3cb49-4024-4ae7-94ed-e4f26c211329,isTransposed:!f),(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,isTransposed:!f),(columnId:%2747086a8d-d782-4a96-bf3b-74d085df7923%27,isTransposed:!f),(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,hidden:!t,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data)),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:15,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:24,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:edit)&show-time-filter=true"},"coreMigrationVersion":"7.15.2","id":"30f7ebeef8b48c64c79da05ff1588bba","references":[],"sort":[1713268236271,471],"type":"url","updated_at":"2024-04-16T11:50:36.271Z","version":"WzIwMTM5LDEzXQ=="} +{"attributes":{"accessCount":0,"accessDate":1713268354177,"createDate":1713268354177,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?embed=true&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(c7e3cb49-4024-4ae7-94ed-e4f26c211329,%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,%2747086a8d-d782-4a96-bf3b-74d085df7923%27,c65d2548-c412-43ab-a468-7f8872db19a2),columns:(%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Start%20Time%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:%27@timestamp-original%27),%2747086a8d-d782-4a96-bf3b-74d085df7923%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Error%20Status%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:result.keyword),c65d2548-c412-43ab-a468-7f8872db19a2:(dataType:number,isBucketed:!f,label:%27Count%20of%20records%27,operationType:count,scale:ratio,sourceField:Records),c7e3cb49-4024-4ae7-94ed-e4f26c211329:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:c7e3cb49-4024-4ae7-94ed-e4f26c211329,isTransposed:!f),(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,isTransposed:!f),(columnId:%2747086a8d-d782-4a96-bf3b-74d085df7923%27,isTransposed:!f),(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,hidden:!t,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data)),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:15,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:24,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:view)"},"coreMigrationVersion":"7.15.2","id":"37a997d487481a422d52a3588547cb58","references":[],"sort":[1713268354177,473],"type":"url","updated_at":"2024-04-16T11:52:34.177Z","version":"WzIwMTQxLDEzXQ=="} +{"attributes":{"accessCount":1,"accessDate":1713271630902,"createDate":1713271613093,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?embed=true&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(c7e3cb49-4024-4ae7-94ed-e4f26c211329,%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,%2747086a8d-d782-4a96-bf3b-74d085df7923%27,c65d2548-c412-43ab-a468-7f8872db19a2),columns:(%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Start%20Time%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:asc,otherBucket:!t,size:3),scale:ordinal,sourceField:%27@timestamp-original%27),%2747086a8d-d782-4a96-bf3b-74d085df7923%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Error%20Status%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:result.keyword),c65d2548-c412-43ab-a468-7f8872db19a2:(dataType:number,isBucketed:!f,label:%27Count%20of%20records%27,operationType:count,scale:ratio,sourceField:Records),c7e3cb49-4024-4ae7-94ed-e4f26c211329:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:c7e3cb49-4024-4ae7-94ed-e4f26c211329,isTransposed:!f),(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,isTransposed:!f),(columnId:%2747086a8d-d782-4a96-bf3b-74d085df7923%27,isTransposed:!f),(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,hidden:!t,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data,sorting:(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,direction:desc))),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:15,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:24,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:view)&show-top-menu=true&show-query-input=true&show-time-filter=true"},"coreMigrationVersion":"7.15.2","id":"41b1fa963c2ae0c20701f43be4c3a7e6","references":[],"sort":[1713271630902,485],"type":"url","updated_at":"2024-04-16T12:47:10.902Z","version":"WzIwMTUzLDEzXQ=="} +{"attributes":{"buildNum":44266,"defaultIndex":"3f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5"},"coreMigrationVersion":"7.15.2","id":"7.15.2","migrationVersion":{"config":"7.13.0"},"references":[],"sort":[1713265882631,425],"type":"config","updated_at":"2024-04-16T11:11:22.631Z","version":"WzIwMDkzLDEzXQ=="} +{"attributes":{"accessCount":21,"accessDate":1714045364167,"createDate":1713271648005,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?embed=true&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(c7e3cb49-4024-4ae7-94ed-e4f26c211329,%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,%2747086a8d-d782-4a96-bf3b-74d085df7923%27,c65d2548-c412-43ab-a468-7f8872db19a2),columns:(%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Start%20Time%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:asc,otherBucket:!t,size:3),scale:ordinal,sourceField:%27@timestamp-original%27),%2747086a8d-d782-4a96-bf3b-74d085df7923%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Error%20Status%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:result.keyword),c65d2548-c412-43ab-a468-7f8872db19a2:(dataType:number,isBucketed:!f,label:%27Count%20of%20records%27,operationType:count,scale:ratio,sourceField:Records),c7e3cb49-4024-4ae7-94ed-e4f26c211329:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:c7e3cb49-4024-4ae7-94ed-e4f26c211329,isTransposed:!f),(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,isTransposed:!f),(columnId:%2747086a8d-d782-4a96-bf3b-74d085df7923%27,isTransposed:!f),(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,hidden:!t,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data,sorting:(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,direction:desc))),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:15,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:24,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:view)&show-query-input=true&show-time-filter=true"},"coreMigrationVersion":"7.15.2","id":"797a37b8b559f872a4933989160014cb","references":[],"sort":[1714045364167,932],"type":"url","updated_at":"2024-04-25T11:42:44.167Z","version":"WzIwNjU0LDEzXQ=="} +{"attributes":{"accessCount":0,"accessDate":1713268357275,"createDate":1713268357275,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?embed=true&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(c7e3cb49-4024-4ae7-94ed-e4f26c211329,%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,%2747086a8d-d782-4a96-bf3b-74d085df7923%27,c65d2548-c412-43ab-a468-7f8872db19a2),columns:(%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Start%20Time%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:%27@timestamp-original%27),%2747086a8d-d782-4a96-bf3b-74d085df7923%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Error%20Status%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:3),scale:ordinal,sourceField:result.keyword),c65d2548-c412-43ab-a468-7f8872db19a2:(dataType:number,isBucketed:!f,label:%27Count%20of%20records%27,operationType:count,scale:ratio,sourceField:Records),c7e3cb49-4024-4ae7-94ed-e4f26c211329:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,type:column),orderDirection:desc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:c7e3cb49-4024-4ae7-94ed-e4f26c211329,isTransposed:!f),(columnId:%2727dda7b3-d9d1-4edb-86ae-fdde40d5f75f%27,isTransposed:!f),(columnId:%2747086a8d-d782-4a96-bf3b-74d085df7923%27,isTransposed:!f),(columnId:c65d2548-c412-43ab-a468-7f8872db19a2,hidden:!t,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data)),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:15,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:24,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:view)&show-time-filter=true"},"coreMigrationVersion":"7.15.2","id":"97e24daa9135b3f09857761fa490e663","references":[],"sort":[1713268357275,472],"type":"url","updated_at":"2024-04-16T11:52:37.275Z","version":"WzIwMTQwLDEzXQ=="} +{"attributes":{"accessCount":2,"accessDate":1714045457802,"createDate":1714045392621,"url":"/app/dashboards#/view/0ffb15e0-fbe5-11ee-b9d0-27e6ccfc8aa5?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(description:%27%27,filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,syncColors:!f,useMargins:!t),panels:!((embeddableConfig:(attributes:(references:!((id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-current-indexpattern,type:index-pattern),(id:%273f66f730-fbe1-11ee-b9d0-27e6ccfc8aa5%27,name:indexpattern-datasource-layer-a67e6635-b164-4c45-a563-bbe4ca458fca,type:index-pattern),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard),(id:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,name:%27drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:78a728c0-3ead-4511-8742-5840b4e891b3:dashboardId%27,type:dashboard)),state:(datasourceStates:(indexpattern:(layers:(a67e6635-b164-4c45-a563-bbe4ca458fca:(columnOrder:!(%2773954412-33dd-4460-9ed0-25fb11272df8%27,%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5b%27,%276c1cf201-6770-49ee-9056-9bc1f009f5da%27,%276c1cf201-6770-49ee-9056-9bc1f009f5daX0%27,%27567b3cde-4bc5-4155-82bb-8c0f1097af27%27,%27567b3cde-4bc5-4155-82bb-8c0f1097af27X0%27,%276e4b599c-1d09-46c1-83b7-d66df0337009%27,%276e4b599c-1d09-46c1-83b7-d66df0337009X0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX4%27),columns:(%27567b3cde-4bc5-4155-82bb-8c0f1097af27%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Failure%20Count%27,operationType:formula,params:(formula:%27count(kql%3D!%27result:%20FAILURE!%27)%27,isFormulaBroken:!f),references:!(%27567b3cde-4bc5-4155-82bb-8c0f1097af27X0%27),scale:ratio),%27567b3cde-4bc5-4155-82bb-8c0f1097af27X0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result:%20FAILURE%27),isBucketed:!f,label:%27Part%20of%20Failure%20Count%27,operationType:count,scale:ratio,sourceField:Records),%276c1cf201-6770-49ee-9056-9bc1f009f5da%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Success%20Count%27,operationType:formula,params:(formula:%27count(kql%3D!%27result%20:%20SUCCESS!%27)%27,isFormulaBroken:!f),references:!(%276c1cf201-6770-49ee-9056-9bc1f009f5daX0%27),scale:ratio),%276c1cf201-6770-49ee-9056-9bc1f009f5daX0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20SUCCESS%27),isBucketed:!f,label:%27Part%20of%20count(kql%3D!%27result%20:%20SUCCESS!%27)%27,operationType:count,scale:ratio,sourceField:Records),%276e4b599c-1d09-46c1-83b7-d66df0337009%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Partial%20Success%20Count%27,operationType:formula,params:(formula:%27count(kql%3D!%27result%20:%20PARTIAL_SUCCESS!%27)%27,isFormulaBroken:!f),references:!(%276e4b599c-1d09-46c1-83b7-d66df0337009X0%27),scale:ratio),%276e4b599c-1d09-46c1-83b7-d66df0337009X0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20PARTIAL_SUCCESS%27),isBucketed:!f,label:%27Part%20of%20Partial%20Success%20Count%27,operationType:count,scale:ratio,sourceField:Records),%2773954412-33dd-4460-9ed0-25fb11272df8%27:(customLabel:!t,dataType:string,isBucketed:!t,label:%27Execution%20ID%27,operationType:terms,params:(missingBucket:!f,orderBy:(fallback:!t,type:alphabetical),orderDirection:asc,otherBucket:!t,size:5),scale:ordinal,sourceField:executionId.keyword),%2776358e4d-51dc-4bb7-9763-45c422e51e5b%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Ongoing%20Tasks%27,operationType:formula,params:(formula:%27count(kql%3D!%27result%20:%20STARTED!%27)%20-%20count(kql%3D!%27result%20:%20SUCCESS!%27)%20-%20count(kql%3D!%27result:%20FAILURE!%27)%20-%20count(kql%3D!%27result%20:%20PARTIAL_SUCCESS!%27)%27,isFormulaBroken:!f),references:!(%2776358e4d-51dc-4bb7-9763-45c422e51e5bX4%27),scale:ratio),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20STARTED%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20SUCCESS%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result:%20FAILURE%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27:(customLabel:!t,dataType:number,filter:(language:kuery,query:%27result%20:%20PARTIAL_SUCCESS%27),isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:count,scale:ratio,sourceField:Records),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX4%27:(customLabel:!t,dataType:number,isBucketed:!f,label:%27Part%20of%20Started%20Tasks%27,operationType:math,params:(tinymathAst:(args:!((args:!((args:!(%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27),name:subtract,type:function),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27),name:subtract,type:function),%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27),location:(max:132,min:0),name:subtract,text:%27count(kql%3D!%27result%20:%20STARTED!%27)%20-%20count(kql%3D!%27result%20:%20SUCCESS!%27)%20-%20count(kql%3D!%27result:%20FAILURE!%27)%20-%20count(kql%3D!%27result%20:%20PARTIAL_SUCCESS!%27)%27,type:function)),references:!(%2776358e4d-51dc-4bb7-9763-45c422e51e5bX0%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX1%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX2%27,%2776358e4d-51dc-4bb7-9763-45c422e51e5bX3%27),scale:ratio),%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27:(customLabel:!t,dataType:string,isBucketed:!f,label:Timestamp,operationType:last_value,params:(sortField:%27@timestamp%27),scale:ordinal,sourceField:%27@timestamp-original%27)),incompleteColumns:())))),filters:!(),query:(language:kuery,query:%27%27),visualization:(columns:!((columnId:%2773954412-33dd-4460-9ed0-25fb11272df8%27,isTransposed:!f,width:297.66666666666663),(columnId:%276c1cf201-6770-49ee-9056-9bc1f009f5da%27,isTransposed:!f),(columnId:%27567b3cde-4bc5-4155-82bb-8c0f1097af27%27,isTransposed:!f),(columnId:%276e4b599c-1d09-46c1-83b7-d66df0337009%27,isTransposed:!f),(columnId:%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27,isTransposed:!f,width:213.66666666666666),(columnId:%2776358e4d-51dc-4bb7-9763-45c422e51e5b%27,isTransposed:!f)),layerId:a67e6635-b164-4c45-a563-bbe4ca458fca,layerType:data,sorting:(columnId:%278c65e9ca-7985-43ec-ae2e-7791dff2e7d3%27,direction:desc))),title:%27%27,type:lens,visualizationType:lnsDatatable),enhancements:(dynamicActions:(events:!((action:(config:(dashboardId:%27994ee0b0-fbe5-11ee-b9d0-27e6ccfc8aa5%27,useCurrentDateRange:!t,useCurrentFilters:!t),factoryId:DASHBOARD_TO_DASHBOARD_DRILLDOWN,name:%27Go%20to%20Dashboard%27),eventId:%2778a728c0-3ead-4511-8742-5840b4e891b3%27,triggers:!(FILTER_TRIGGER)))))),gridData:(h:16,i:d62f4d3d-027b-408d-b8ad-62404b90a057,w:48,x:0,y:0),panelIndex:d62f4d3d-027b-408d-b8ad-62404b90a057,type:lens,version:%277.15.2%27)),query:(language:kuery,query:%27%27),tags:!(),timeRestore:!f,title:Executions,viewMode:view)"},"coreMigrationVersion":"7.15.2","id":"c8e40b39e912579ca0ccfd05c90d3302","references":[],"sort":[1714045457802,934],"type":"url","updated_at":"2024-04-25T11:44:17.802Z","version":"WzIwNjU3LDEzXQ=="} +{"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":13,"missingRefCount":0,"missingReferences":[]} \ No newline at end of file diff --git a/docker/kibana-data/index_template.txt b/docker/kibana-data/index_template.txt new file mode 100644 index 00000000..716f15bc --- /dev/null +++ b/docker/kibana-data/index_template.txt @@ -0,0 +1,24 @@ +PUT _template/ignore_above +{ + "index_patterns": [ + "fluentd*" + ], + "mappings": { + "dynamic_templates": [ + { + "strings_as_keyword": { + "match_mapping_type": "string", + "mapping": { + "type": "text", + "fields": { + "keyword": { + "ignore_above": 10000, + "type": "keyword" + } + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/docker/log-server/Dockerfile b/docker/log-server/Dockerfile deleted file mode 100644 index 9095e30c..00000000 --- a/docker/log-server/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM openjdk:11-jre-slim - -ENV TOFHIR_HOME /usr/local/tofhir -RUN mkdir -p "$TOFHIR_HOME" -WORKDIR $TOFHIR_HOME - -COPY ./tofhir-log-server/target/tofhir-log-server-standalone.jar . -COPY ./docker/log-server/docker-entrypoint.sh . -RUN chmod +x docker-entrypoint.sh - -ENTRYPOINT ["./docker-entrypoint.sh"] diff --git a/docker/log-server/build.sh b/docker/log-server/build.sh deleted file mode 100644 index 196a84d0..00000000 --- a/docker/log-server/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -# Execute one of the following commands from the project.root.directory (../../) - -docker build -f docker/log-server/Dockerfile -t srdc/tofhir-log-server:latest . - diff --git a/docker/log-server/docker-entrypoint.sh b/docker/log-server/docker-entrypoint.sh deleted file mode 100644 index 1ddcebca..00000000 --- a/docker/log-server/docker-entrypoint.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -JAVA_CMD="java -Xms256m -Xmx3g -jar " - -# Configure application.conf path -if [ ! -z "$APP_CONF_FILE" ]; then - JAVA_CMD+="-Dconfig.file=$APP_CONF_FILE " -fi - -# Configure logback configuration file -if [ ! -z "$LOGBACK_CONF_FILE" ]; then - JAVA_CMD+="-Dlogback.configurationFile=$LOGBACK_CONF_FILE " -fi - -# Configure Spark -if [ ! -z "$SPARK_APPNAME" ]; then - JAVA_CMD+="-Dspark.app-name=$SPARK_APPNAME " -fi -if [ ! -z "$SPARK_MASTER" ]; then - JAVA_CMD+="-Dspark.master=$SPARK_MASTER " -fi - -# Configure tofhir-server web server -if [ ! -z "$WEBSERVER_HOST" ]; then - JAVA_CMD+="-Dwebserver.host=$WEBSERVER_HOST " -fi -if [ ! -z "$WEBSERVER_PORT" ]; then - JAVA_CMD+="-Dwebserver.port=$WEBSERVER_PORT " -fi -if [ ! -z "$WEBSERVER_BASEURI" ]; then - JAVA_CMD+="-Dwebserver.base-uri=$WEBSERVER_BASEURI " -fi - -# Delay the execution for this amount of seconds -if [ ! -z "$DELAY_EXECUTION" ]; then - sleep $DELAY_EXECUTION -fi - -# Finally, tell which jar to run -JAVA_CMD+="tofhir-log-server-standalone.jar" - -eval $JAVA_CMD "$@" diff --git a/docker/server/docker-entrypoint.sh b/docker/server/docker-entrypoint.sh index d8456c61..858cd04d 100644 --- a/docker/server/docker-entrypoint.sh +++ b/docker/server/docker-entrypoint.sh @@ -74,11 +74,6 @@ if [ ! -z "$WEBSERVER_BASEURI" ]; then JAVA_CMD+="-Dwebserver.base-uri=$WEBSERVER_BASEURI " fi -# Configure log service -if [ ! -z "$LOG_SERVICE_ENDPOINT" ]; then - JAVA_CMD+="-Dlog-service.endpoint=$LOG_SERVICE_ENDPOINT " -fi - # Delay the execution for this amount of seconds if [ ! -z "$DELAY_EXECUTION" ]; then sleep $DELAY_EXECUTION diff --git a/pom.xml b/pom.xml index 68aa6371..bac1d126 100644 --- a/pom.xml +++ b/pom.xml @@ -78,7 +78,6 @@ tofhir-engine tofhir-server - tofhir-log-server tofhir-common tofhir-server-common tofhir-rxnorm @@ -101,6 +100,8 @@ 1.1-SNAPSHOT 1.0-SNAPSHOT 3.7.0-M11 + 1.8.8 + 0.3.4 2.15.1 3.2.17 3.5.1 @@ -280,6 +281,22 @@ + + + + com.sndyuk + logback-more-appenders + ${logback-more-appenders.version} + + + + org.fluentd + fluent-logger + ${fluent-logger.version} + + @@ -418,11 +435,6 @@ tofhir-server-common_2.13 ${project.version} - - io.onfhir - tofhir-log-server-common_2.13 - ${project.version} - io.onfhir tofhir-engine_2.13 diff --git a/readme-assets/kibana-execution-details.png b/readme-assets/kibana-execution-details.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2e69849d3565dbddab99a845f0974d094349ad GIT binary patch literal 255042 zcmeEtc{r5qAFozLT3<=FHYt0A?3E&f!q}M#$zHa>n3+mZ2}MYjNfBo3%h+cuMGPkU zGMHpH#$e10v!1Es;6Q^E`jdbv@5L_ws!2?{xQk*sxOb+U5Aa-XDUT_`7kDD%b$7%rFwE(4sgXWc|b&JH>f-Lo1PbEE@d1jD{RJXb~6Om9g%MlPT_ zOtWbITv{L5N5h-6j}X0cdF&8xb^mhF2?pWY{^dFEC76*bO8?rTd}%*t$G^6m-qnox z*M`RJmo`NHwdL)xUEHnz+Hz?7B=BDwZaqH668vY&+knU0Ce(RPuj}ayO

`wBqma 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

q+(C5s~l{-&a7jk2G{JyLiqmwJe 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

xS~eQ4XV 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 Z4f?@9;_FS{^9OI=(zvZ&a{ca;{{wpGmtX(@ literal 0 HcmV?d00001 diff --git a/readme-assets/kibana-index-template.png b/readme-assets/kibana-index-template.png new file mode 100644 index 0000000000000000000000000000000000000000..f4be21e5137b65b723e71b4aef5ffe8763374b36 GIT binary patch literal 70077 zcma%ic_38n+rN@jiZ)5Mq)4`qbz&+-WvgW0v!yZivCm8*o)#o~mQh3)OZLH7%Qlv5 zBL+iuV~i{_X2zJ`=&9%Xyzlq@<9GhzoHOUX?`ylS>+`wp7xxTwjvP93h>eZy$er6a zAF#1;BH7sXnjhHDx+Bzy`Oe1nlkk8LmdCl`jfc`n^fS}ZK5b}}%S=Yv)lp3q z=-X6b35jva`SeIveaMZoXBNIk6;53U=YI0)<v2Edo#5SlqZd`1FvO#YKyQ z&Ze(3!J;n@oO*e*{3yqa=z-9Ck6gA%8HCT2QKs7PD2Oy_T=9yAJ&kx@A?(wwG(1-D zX|q7hv|GdwdXY7+-`CS6pL~XID47Si7DBIO_9-~@=COQd;Yw`#x``}aDH!f z<7nDzP4oZUy+-L5-Q*WAWB<>sd|YHMQ%r}mA;APNa|-1%dKnaWd@txfFQ|sy)LQB} zfNUFdIbZhU6#rnZM^owCoU@^L*^M0Tj$+*hCU%8}hyU|~d*i;VmeHe{(=$DK+AD&o zJlUW&Z18nRbr)ATq0O9LbM#;1Uz5uW!+Tfn1!?>k-S<635B>VZ>&9p;yCZCDZ~9*V zVHYE#)86=#MG~w%MBWlT>Lm&Rl+FS`kMvwx7b?Z)%KVd_k+fQOp5Ma{kv4SToqbIn zYES5gobXZg&tPnxM*i5XsU)&&@fJAWl3pYA+{K5!~W zKga>_d)6B1+%Q119=q^T|Yo-l7uKuPSb<0wP2h`M_r zsZh@{Sy>+JFnYWA_mu9TSu#IzV0Y~JxLgBF215r;QH6VM$5+%>DS{u3wwA}bN}+{+ zF96cdl2Eh1iH?pjNbevw8{4-%&Ko5M9hshMS|Fj29I&21N@YLc_w*i0u+}Q3Z)Xjt zoCqq02<}?P(*x@;XT@11v4U5MV8_wU@)VojQ^}+)OsW))YPL8oz1#*A3@oULAq|C- z!gPSEg1}j`n0)UatMY1(1ZPEIxg)iA&Lnlmrj*UyW`xO<0&ADs6Ner&AkF=%0F|Wf zXikPaVIMe5@i2nEVy}IK^cc_%DA2WI4ac9=_qVk_UCIr^KS*}1hg=krh%*;8iag0v z5VgXE#0OhC_u|gGjF;beat`K6G6>v!Y#7Y8Z9t?! z4Qz;wpGzI5Mcc^6GqW5v)@{K0VH?vy@e~0yeBB-eyN$!HA&g`P1ovpIMJpw${AaWN z$ZTQh`N#BwpfK{vx4_L19UEI2MLCgs0oF9`_@9*W_MMlJ!NDJYs{6d=C>^m#a$`D?yeNLlg;YA~cCfAR$ij@bHs6KW}9EO?vXnyMK^2g0IdZ zbPtnalE!Aui!6!VU9nQN-~_98mOw2m!gsK2uU=|Or6Ty#@b7T=NmzYLMyHntX}A)* zIG|TuYwkX=Rc`^evav235`aLlA5>;DC#s&LH-&EYIj1-Zd)r>oQC|4wIPA?7t%j-E z=&PSx-XB^qy=~x@CdT&;l2rV591EM(6}sWKP#08k8Mz2BF

m;N>(9tDA^s&3Vr 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%0A_%fq=JC1{FO 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 KZO%Ma{Qm(VE1hNl literal 0 HcmV?d00001 diff --git a/readme-assets/kibana-saved-objects.png b/readme-assets/kibana-saved-objects.png new file mode 100644 index 0000000000000000000000000000000000000000..dde21417f98d91f7c70d0429f746753465aedf0a GIT binary patch literal 186419 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

9@RP0B2MFe`geH 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 literal 0 HcmV?d00001 diff --git a/readme-assets/module-component-diagram.png b/readme-assets/module-component-diagram.png index 5a3d3c049c855d7d5422d655e7a89d0d4bd83cad..951976cc280b75c4e726cd4a28bc2ac69dbc8538 100644 GIT binary patch literal 27134 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 diff --git a/tofhir-engine/pom.xml b/tofhir-engine/pom.xml index b139f6e1..4d29132d 100644 --- a/tofhir-engine/pom.xml +++ b/tofhir-engine/pom.xml @@ -200,6 +200,15 @@ org.apache.spark spark-sql_${scala.binary.version} + + + com.sndyuk + logback-more-appenders + + + org.fluentd + fluent-logger + diff --git a/tofhir-engine/src/main/resources/logback.xml b/tofhir-engine/src/main/resources/logback.xml index 0a6d1fc6..e2817f79 100644 --- a/tofhir-engine/src/main/resources/logback.xml +++ b/tofhir-engine/src/main/resources/logback.xml @@ -45,6 +45,9 @@ [ignore] + + logs/tofhir-mappings.%i.log.zip @@ -57,6 +60,19 @@ + + + + localhost + 24224 + + + INFO + + + true + + @@ -69,6 +85,7 @@ + diff --git a/tofhir-engine/src/main/scala/io/tofhir/engine/data/write/SinkHandler.scala b/tofhir-engine/src/main/scala/io/tofhir/engine/data/write/SinkHandler.scala index 8fdb7371..f58a6109 100644 --- a/tofhir-engine/src/main/scala/io/tofhir/engine/data/write/SinkHandler.scala +++ b/tofhir-engine/src/main/scala/io/tofhir/engine/data/write/SinkHandler.scala @@ -90,18 +90,18 @@ object SinkHandler { //Log the job result val jobResult = FhirMappingJobResult(mappingJobExecution, mappingUrl, numOfInvalids, numOfNotMapped, numOfWritten, numOfNotWritten) - logger.info(jobResult.toLogstashMarker, jobResult.toString) + logger.info(jobResult.toMapMarker, jobResult.toString) // Log the mapping and invalid input errors if (numOfNotMapped > 0 || numOfInvalids > 0) { mappingErrors.union(invalidInputs).foreach(r => - logger.warn(r.copy(executionId = Some(mappingJobExecution.id)).toLogstashMarker, + logger.warn(r.copy(executionId = Some(mappingJobExecution.id)).toMapMarker, r.copy(executionId = Some(mappingJobExecution.id)).toString) ) } if (numOfNotWritten > 0) notWrittenResources.forEach(r => - logger.warn(r.copy(executionId = Some(mappingJobExecution.id)).toLogstashMarker, + logger.warn(r.copy(executionId = Some(mappingJobExecution.id)).toMapMarker, r.copy(executionId = Some(mappingJobExecution.id)).toString) ) } diff --git a/tofhir-engine/src/main/scala/io/tofhir/engine/execution/RunningJobRegistry.scala b/tofhir-engine/src/main/scala/io/tofhir/engine/execution/RunningJobRegistry.scala index 0b3302ce..0a7dd62d 100644 --- a/tofhir-engine/src/main/scala/io/tofhir/engine/execution/RunningJobRegistry.scala +++ b/tofhir-engine/src/main/scala/io/tofhir/engine/execution/RunningJobRegistry.scala @@ -344,6 +344,16 @@ class RunningJobRegistry(spark: SparkSession) { runningTasks.get(jobId).map(_.keySet).getOrElse(Set.empty).toSet } + /** + * Gets scheduled executions for the given job + * + * @param jobId Identifier of the job + * @return A set of execution ids + */ + def getScheduledExecutions(jobId: String): Set[String] = { + scheduledTasks.get(jobId).map(_.keySet).getOrElse(Set.empty).toSet + } + /** * Checks if a job with the given execution ID is scheduled. * diff --git a/tofhir-engine/src/main/scala/io/tofhir/engine/logback/MapMarkerToLogstashMarkerEncoder.scala b/tofhir-engine/src/main/scala/io/tofhir/engine/logback/MapMarkerToLogstashMarkerEncoder.scala new file mode 100644 index 00000000..716d5bf9 --- /dev/null +++ b/tofhir-engine/src/main/scala/io/tofhir/engine/logback/MapMarkerToLogstashMarkerEncoder.scala @@ -0,0 +1,101 @@ +package io.tofhir.engine.logback + +import ch.qos.logback.classic.spi.{ILoggingEvent, IThrowableProxy, LoggerContextVO} +import ch.qos.logback.more.appenders.marker.MapMarker +import net.logstash.logback.encoder.LogstashEncoder +import net.logstash.logback.marker.LogstashMarker +import net.logstash.logback.marker.Markers.appendEntries + +import java.util + +/** + * An encoder for converting MapMarker objects to LogstashMarker objects. + */ +class MapMarkerToLogstashMarkerEncoder extends LogstashEncoder { + + /** + * Encodes the logging event by converting MapMarker to LogstashMarker and then calling super.encode(). + * + * @param event The logging event to encode. + * @return The encoded logging event as a byte array. + */ + override def encode(event: ILoggingEvent): Array[Byte] = { + val modifiedEvent = modifyEventWithLogstashMarker(event) + super.encode(modifiedEvent) + } + + /** + * Modifies the logging event with a LogstashMarker if it contains a MapMarker. + * + * @param event The logging event to modify. + * @return The modified logging event. + */ + private def modifyEventWithLogstashMarker(event: ILoggingEvent): ILoggingEvent = { + val map = getMapMarkerData(event.getMarker) + if (map.isDefined) { + val logstashMarker = toLogstashMarker(map.get) + new ModifiedLoggingEvent(event, logstashMarker) + } else { + event + } + } + + /** + * Extracts the data from a MapMarker. + * + * @param marker The marker to extract data from. + * @return An Optional containing the marker data if the marker is a MapMarker, otherwise empty. + */ + private def getMapMarkerData(marker: org.slf4j.Marker): Option[util.Map[String, _]] = { + marker match { + case m: MapMarker => Some(m.getMap) + case _ => None + } + } + + /** + * Converts a Map of marker data to a LogstashMarker. + * + * @param map The map of marker data. + * @return The corresponding LogstashMarker. + */ + private def toLogstashMarker(map: util.Map[String, _]): LogstashMarker = { + appendEntries(map) + } + + /** + * A wrapper class for the logging event that delegates to the original event but with a different marker. + */ + private class ModifiedLoggingEvent(originalEvent: ILoggingEvent, marker: LogstashMarker) extends ILoggingEvent { + override def getMarker: org.slf4j.Marker = marker + + // Implement other methods by delegating to the original event + override def getTimeStamp: Long = originalEvent.getTimeStamp + + override def getLevel: ch.qos.logback.classic.Level = originalEvent.getLevel + + override def getThreadName: String = originalEvent.getThreadName + + override def getMessage: String = originalEvent.getMessage + + override def getArgumentArray: Array[AnyRef] = originalEvent.getArgumentArray + + override def getFormattedMessage: String = originalEvent.getFormattedMessage + + override def getLoggerName: String = originalEvent.getLoggerName + + override def getLoggerContextVO: LoggerContextVO = originalEvent.getLoggerContextVO + + override def getThrowableProxy: IThrowableProxy = originalEvent.getThrowableProxy + + override def getCallerData: Array[StackTraceElement] = originalEvent.getCallerData + + override def hasCallerData: Boolean = originalEvent.hasCallerData + + override def getMDCPropertyMap: util.Map[String, String] = originalEvent.getMDCPropertyMap + + override def getMdc: util.Map[String, String] = originalEvent.getMdc + + override def prepareForDeferredProcessing(): Unit = originalEvent.prepareForDeferredProcessing() + } +} diff --git a/tofhir-engine/src/main/scala/io/tofhir/engine/mapping/FhirMappingJobManager.scala b/tofhir-engine/src/main/scala/io/tofhir/engine/mapping/FhirMappingJobManager.scala index 03bfe318..bab52142 100644 --- a/tofhir-engine/src/main/scala/io/tofhir/engine/mapping/FhirMappingJobManager.scala +++ b/tofhir-engine/src/main/scala/io/tofhir/engine/mapping/FhirMappingJobManager.scala @@ -62,7 +62,7 @@ class FhirMappingJobManager( mappingJobExecution.mappingTasks.foldLeft(Future((): Unit)) { (f, task) => // Initial empty Future f.flatMap { _ => // Execute the Futures in the Sequence consecutively (not in parallel) val jobResult = FhirMappingJobResult(mappingJobExecution, Some(task.mappingRef)) - logger.info(jobResult.toLogstashMarker, jobResult.toString) + logger.info(jobResult.toMapMarker, jobResult.toString) readSourceExecuteAndWriteInBatches(mappingJobExecution.copy(mappingTasks = Seq(task)), sourceSettings, fhirWriter, terminologyServiceSettings, identityServiceSettings, timeRange) @@ -70,7 +70,7 @@ class FhirMappingJobManager( // Check whether the job is stopped case se: SparkThrowable if se.getMessage.contains("cancelled part of cancelled job group") => val jobResult = FhirMappingJobResult(mappingJobExecution, Some(task.mappingRef), status = Some(FhirMappingJobResult.STOPPED)) - logger.info(jobResult.toLogstashMarker, jobResult.toString) + logger.info(jobResult.toMapMarker, jobResult.toString) throw FhirMappingJobStoppedException(s"Execution '${mappingJobExecution.id}' of job '${mappingJobExecution.job.id}' in project ${mappingJobExecution.projectId}' terminated manually!") // Exceptions from Spark executors are wrapped inside a SparkException, which are caught below case se: SparkThrowable => @@ -78,17 +78,17 @@ class FhirMappingJobManager( // log the mapping job result and exception for the errors encountered while reading the schema or writing the FHIR Resources case _ => val jobResult = FhirMappingJobResult(mappingJobExecution, Some(task.mappingRef), status = Some(FhirMappingJobResult.FAILURE)) - logger.error(jobResult.toLogstashMarker, jobResult.toString, se) + logger.error(jobResult.toMapMarker, jobResult.toString, se) } // Pass the stop exception to the upstream Futures in the chain laid out by foldLeft above case t: FhirMappingJobStoppedException => val jobResult = FhirMappingJobResult(mappingJobExecution, Some(task.mappingRef), status = Some(FhirMappingJobResult.SKIPPED)) - logger.info(jobResult.toLogstashMarker, jobResult.toString) + logger.info(jobResult.toMapMarker, jobResult.toString) throw t case e: Throwable => // log the mapping job result and exception val jobResult = FhirMappingJobResult(mappingJobExecution, Some(task.mappingRef), status = Some(FhirMappingJobResult.FAILURE)) - logger.error(jobResult.toLogstashMarker, jobResult.toString, e) + logger.error(jobResult.toMapMarker, jobResult.toString, e) } } map { _ => logger.debug(s"MappingJob execution finished for MappingJob: ${mappingJobExecution.job.id}.") } } @@ -115,7 +115,7 @@ class FhirMappingJobManager( .map(t => { logger.debug(s"Streaming mapping job ${mappingJobExecution.job.id}, mapping url ${t.mappingRef} is started and waiting for the data...") val jobResult = FhirMappingJobResult(mappingJobExecution, Some(t.mappingRef)) - logger.info(jobResult.toLogstashMarker, jobResult.toString) + logger.info(jobResult.toMapMarker, jobResult.toString) // Construct a tuple of (mapping url, Future[StreamingQuery]) t.mappingRef -> @@ -126,7 +126,7 @@ class FhirMappingJobManager( .recover { case e: Throwable => val jobResult = FhirMappingJobResult(mappingJobExecution, Some(t.mappingRef), status = Some(FhirMappingJobResult.FAILURE)) - logger.error(jobResult.toLogstashMarker, jobResult.toString,e) + logger.error(jobResult.toMapMarker, jobResult.toString,e) throw e } }) diff --git a/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingJobResult.scala b/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingJobResult.scala index f9be2d41..2dd1202d 100644 --- a/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingJobResult.scala +++ b/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingJobResult.scala @@ -1,8 +1,6 @@ package io.tofhir.engine.model -import net.logstash.logback.marker.LogstashMarker -import net.logstash.logback.marker.Markers.{append} - +import ch.qos.logback.more.appenders.marker.MapMarker /** * Result of a batch mapping job execution * @@ -52,20 +50,26 @@ case class FhirMappingJobResult(mappingJobExecution: FhirMappingJobExecution, } /** + * Converts the mapping job execution to a MapMarker object. * - * @return + * @return The MapMarker representing the mapping job execution. */ - def toLogstashMarker: LogstashMarker = { - append("jobId", mappingJobExecution.job.id) - .and(append("projectId", mappingJobExecution.projectId) - .and(append("executionId", mappingJobExecution.id) - .and(append("mappingUrl", mappingUrl.orElse(null)) - .and(append("result", result) - .and(append("numOfInvalids", numOfInvalids) - .and(append("numOfNotMapped", numOfNotMapped) - .and(append("numOfFhirResources", numOfFhirResources) - .and(append("numOfFailedWrites", numOfFailedWrites) - .and(append("eventId", eventId)))))))))) + def toMapMarker: MapMarker = { + // create a new HashMap to store the marker attributes + val markerMap: java.util.Map[String, Any] = new java.util.HashMap[String, Any]() + // add attributes to the marker map + markerMap.put("jobId", mappingJobExecution.job.id) + markerMap.put("projectId", mappingJobExecution.projectId) + markerMap.put("executionId", mappingJobExecution.id) + markerMap.put("mappingUrl", mappingUrl.orNull) + markerMap.put("result", result) + markerMap.put("numOfInvalids", numOfInvalids) + markerMap.put("numOfNotMapped", numOfNotMapped) + markerMap.put("numOfFhirResources", numOfFhirResources) + markerMap.put("numOfFailedWrites", numOfFailedWrites) + markerMap.put("eventId", eventId) + // create a new MapMarker using the marker map + new MapMarker("marker", markerMap) } } diff --git a/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingResult.scala b/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingResult.scala index e6aae117..49314a14 100644 --- a/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingResult.scala +++ b/tofhir-engine/src/main/scala/io/tofhir/engine/model/FhirMappingResult.scala @@ -1,9 +1,8 @@ package io.tofhir.engine.model -import net.logstash.logback.marker.LogstashMarker +import ch.qos.logback.more.appenders.marker.MapMarker import java.sql.Timestamp -import net.logstash.logback.marker.Markers._ /** @@ -38,25 +37,29 @@ case class FhirMappingResult( } /** + * Converts the FhirMappingResult to a MapMarker. * - * @return + * @return The MapMarker object representing the FhirMappingResult. */ - def toLogstashMarker:LogstashMarker = { - val marker:LogstashMarker = - append("jobId", jobId) - .and(append("executionId", executionId.getOrElse("")) - .and(append("mappingUrl", mappingUrl) - .and(append("mappingExpr", mappingExpr.orElse(null)) - .and(appendRaw("source", source.get) - .and(append("errorCode", error.get.code) - .and(append("errorDesc", error.get.description) - .and(append("errorExpr", error.get.expression.orElse(null)) - .and(append("eventId", eventId))))))))) - - if(mappedResource.isDefined && error.get.code == FhirMappingErrorCodes.INVALID_RESOURCE) - marker.and(appendRaw("mappedResource", mappedResource.get)) - else - marker + def toMapMarker: MapMarker = { + // create a new HashMap to store the marker attributes + val markerMap: java.util.Map[String, Any] = new java.util.HashMap[String, Any]() + // add attributes to the marker map + markerMap.put("jobId", jobId) + markerMap.put("executionId", executionId.getOrElse("")) + markerMap.put("mappingUrl", mappingUrl) + markerMap.put("mappingExpr", mappingExpr.orElse(null)) + markerMap.put("source", source.get) + markerMap.put("errorCode", error.get.code) + markerMap.put("errorDesc", error.get.description) + markerMap.put("errorExpr", error.get.expression.orElse(null)) + markerMap.put("eventId", eventId) + // create a new MapMarker using the marker map + val marker: MapMarker = new MapMarker("marker", markerMap) + // add mappedResource to the marker map if error code is INVALID_RESOURCE + if (mappedResource.isDefined && error.get.code == FhirMappingErrorCodes.INVALID_RESOURCE) + markerMap.put("mappedResource", mappedResource.get) + marker } } diff --git a/tofhir-log-server/api.yaml b/tofhir-log-server/api.yaml deleted file mode 100644 index 8224158b..00000000 --- a/tofhir-log-server/api.yaml +++ /dev/null @@ -1,283 +0,0 @@ -openapi: 3.0.2 -info: - description: "Lists the REST APIs provided by a toFHIR log server" - version: "1.1" - title: "toFHIR-log-server REST API" - -servers: - - url: "http://localhost:8086/tofhir-logs" - description: Local deployment of the toFHIR log server - - -tags: - - name: "Execution" - description: "Represents a logical grouping for project entities" - - -paths: - # Beginning of the Execution tag - /projects/{projectId}/jobs/{jobId}/executions: - get: - tags: - - Execution - summary: Gets executions of the mapping job - parameters: - - $ref: "#/components/parameters/projectId" - - $ref: "#/components/parameters/jobId" - # Filter parameters for lazy load - - name: page - in: query - required: true - description: requested page of the executions - schema: - type: integer - example: 1 - - name: dateBefore - in: query - required: false - description: Executions started before this date - schema: - type: string - - name: dateAfter - in: query - required: false - description: Executions started after this date - schema: - type: string - - name: errorStatuses - in: query - required: false - description: Request type of executions written as comma seperated - schema: - type: string - - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Execution" - - /projects/{projectId}/jobs/{jobId}/executions/{executionId}: - get: - tags: - - Execution - summary: Gets the details of the specified execution - parameters: - - $ref: "#/components/parameters/projectId" - - $ref: "#/components/parameters/jobId" - - $ref: "#/components/parameters/executionId" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/Execution" - '404': - $ref: "#/components/responses/404NotFound" - - /projects/{projectId}/jobs/{jobId}/executions/{executionId}/logs: - get: - tags: - - Execution - summary: Gets execution logs - parameters: - - $ref: "#/components/parameters/projectId" - - $ref: "#/components/parameters/jobId" - - $ref: "#/components/parameters/executionId" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Log" - '404': - $ref: "#/components/responses/404NotFound" - - -components: - schemas: - Execution: - type: object - description: Executions of a mapping job - properties: - id: - type: string - description: "Identifier of the execution" - example: "c531d5b0-40fc-42a9-8f2d-c6105e3a5d39" - mappingUrls: - type: array - items: - type: string - description: "Url of the mapping runned in the execution" - example: "https://aiccelerate.eu/fhir/mappings/pilot1/anesthesia-observations-mapping" - startTime: - type: string - description: "Start time of the execution" - example: "2024-01-26T10:19:39.538+03:00" - errorStatus: - type: string - description: "Result of the the mapping job" - enum: - - "SUCCESS" - - "FAILURE" - - "PARTIAL_SUCCESS" - - "STARTED" - Log: - type: object - description: "Logs of the individual executions" - properties: - "@timestamp": - type: string - description: "Timestamp of the event" - example: "2024-01-26T10:19:39.538+03:00" - errorCode: - type: string - description: "Error code, if any" - errorDesc: - type: string - description: "Error description, if any" - errorExpr: - type: string - description: "Expression that causes error, if any" - eventId: - type: string - description: "Identifier of the event" - example: "MAPPING_JOB_RESULT" - executionId: - type: string - description: "Identifier of the execution" - example: "c531d5b0-40fc-42a9-8f2d-c6105e3a5d39" - jobId: - type: string - description: "Identifier of the job" - example: "pilot1" - level: - type: string - description: "Level of the log" - example: "INFO" - logger_name: - type: string - description: "Name of the logger" - example: "io.tofhir.engine.mapping.FhirMappingJobManager" - mappedResource: - type: string - description: "Mapped resource, if any" - mappingExpr: - type: string - description: "Mapping expression, if any" - mappingUrl: - type: string - description: "URL of the mapping" - example: "https://aiccelerate.eu/fhir/mappings/pilot1/anesthesia-observations-mapping" - message: - type: string - description: "Log message" - example: "toFHIR batch mapping result (STARTED) for execution 'c531d5b0-40fc-42a9-8f2d-c6105e3a5d39' of job 'pilot1' in project 'pilot1'" - numOfFailedWrites: - type: integer - description: "Number of failed writes, -1 if there is an error" - example: -1 - numOfFhirResources: - type: integer - description: "Number of written FHIR resources, -1 if there is an error" - example: -1 - numOfInvalids: - type: integer - description: "Number of invalid rows, -1 if there is an error" - example: -1 - numOfNotMapped: - type: integer - description: "Number of not mapped rows, -1 if there is an error" - example: -1 - projectId: - type: string - description: "Identifier of the project" - example: "pilot1" - result: - type: string - description: "Result of the mapping job" - example: "STARTED" - source: - type: string - description: "Source of the error, if any" - stack_trace: - type: string - description: "Stack trace of the error, if any" - error_logs: - type: array - description: "Logs of the errors, if any" - items: - $ref: "#/components/schemas/ErrorLog" - ErrorLog: - type: object - description: "Logs of the errors" - properties: - errorCode: - type: string - description: "Error code" - example: "mapping_error" - errorDesc: - type: string - description: "Error description" - example: "FHIR path expression returns empty although value is not marked as optional! Please use '?' mark in placeholder e.g. {{? }} or correct your expression" - message: - type: string - description: "Detailed error message" - example: "Mapping failure (mapping_error) for job 'pilot1' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/condition-mapping' within expression 'Expression: result. Error: FHIR path expression returns empty although value is not marked as optional! Please use '?' mark in placeholder e.g. {{? }} or correct your expression' execution 'c531d5b0-40fc-42a9-8f2d-c6105e3a5d39'!\n\tSource: {\"pid\":\"p1\",\"code\":\"J13\",\"codeDisplay\":\"Pneumonia due to Streptococcus pneumoniae\",\"onsetDateTime\":\"2012-10-15\",\"abatementDateTime\":null,\"encounterId\":null,\"diagnosisType\":\"main\",\"isProlonged\":true,\"certainity\":\"confirmed\",\"asserter\":null}\n\tError: FHIR path expression returns empty although value is not marked as optional! Please use '?' mark in placeholder e.g. {{? }} or correct your expression\n\tExpression: Hello" - mappingUrl: - type: string - description: "URL of the mapping" - example: "https://aiccelerate.eu/fhir/mappings/pilot1/condition-mapping" - - # HTTP responses for requests - responses: - 400BadRequest: - description: "Bad or Invalid request" - 409AlreadyExists: - description: "Given object already exists" - 404NotFound: - description: "Given resource does not exist" - - # Path and query parameters for requests - parameters: - projectId: - in: path - name: "projectId" - required: true - schema: - type: string - format: uuid - pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - description: "Identifier of the project" - - jobId: - in: path - name: "jobId" - schema: - type: string - required: true - description: "Identifier of the job" - - executionId: - name: executionId - in: path - required: true - schema: - type: string - - mappingUrl: - in: path - name: "mappingUrl" - schema: - type: string - format: url - required: true - description: "Url of a mapping" \ No newline at end of file diff --git a/tofhir-log-server/pom.xml b/tofhir-log-server/pom.xml deleted file mode 100644 index 1137487e..00000000 --- a/tofhir-log-server/pom.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - 4.0.0 - - - io.onfhir - tofhir_2.13 - ${revision} - - - tofhir-log-server_2.13 - jar - - - src/main/scala - src/test/scala - - - net.alchim31.maven - scala-maven-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - - org.scalatest - scalatest-maven-plugin - - - - src/test/resources/log-sample.log - - - - - org.apache.maven.plugins - maven-shade-plugin - - - make-assembly - package - - shade - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - false - tofhir-log-server-standalone - - - - io.tofhir.log.server.Boot - - - - - reference.conf - - - - - - - - - - - - - - - - - org.scala-lang - scala-library - - - - - com.typesafe.scala-logging - scala-logging_${scala.binary.version} - - - - - ch.qos.logback - logback-classic - - - ch.qos.logback - logback-core - - - - - com.typesafe - config - - - - - org.json4s - json4s-jackson_${scala.binary.version} - - - - - com.typesafe.akka - akka-http_${scala.binary.version} - - - com.typesafe.akka - akka-http-core_${scala.binary.version} - - - com.typesafe.akka - akka-http-caching_${scala.binary.version} - - - com.typesafe.akka - akka-actor-typed_${scala.binary.version} - - - com.typesafe.akka - akka-stream-typed_${scala.binary.version} - - - - - io.onfhir - tofhir-engine_2.13 - - - io.onfhir - tofhir-server-common - - - - - org.scalatest - scalatest_${scala.binary.version} - test - - - - - diff --git a/tofhir-log-server/src/main/resources/application.conf b/tofhir-log-server/src/main/resources/application.conf deleted file mode 100644 index 3f11057a..00000000 --- a/tofhir-log-server/src/main/resources/application.conf +++ /dev/null @@ -1,54 +0,0 @@ -webserver = { - # Hostname that toFHIR log server will work. Using 0.0.0.0 will bind the server to both localhost and the IP of the server that you deploy it. - host = 0.0.0.0 - - # Port to listen - port = 8086 - - # Base Uri for server e.g. With this default configuration, the root path of toFHIR log server will be http://localhost:8085/tofhir-logs - base-uri = tofhir-logs - - ssl { - # Path to the java keystore for enabling ssl for toFHIR server, use null to disable ssl - keystore = null - # Password of the keystore for enabling ssl for toFHIR server - password = null - } -} - -# Spark configurations -spark = { - app.name = "AICCELERATE Data Integration Suite" - master = "local[1]" -} - -akka = { - daemonic = "on" - - # Configurations for Akka HTTP - http = { - parsing = { - max-header-value-length = 82k - } - server = { - # Header for server - server-header = toFHIR Log Server - parsing{ - uri-parsing-mode = relaxed - } - # Request timeout for all REST services - request-timeout = 60 s - # Maximum inactivity time of a given HTTP connection - idle-timeout = 60 s - # Should be on in order to get IP address of the clients for audits - remote-address-header = on - } - } -} - -tofhir = { - log-server { - # The file that contains results of mapping executions - filepath = "logs/tofhir-mappings.log" - } -} diff --git a/tofhir-log-server/src/main/resources/logback.xml b/tofhir-log-server/src/main/resources/logback.xml deleted file mode 100644 index 79844906..00000000 --- a/tofhir-log-server/src/main/resources/logback.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - %d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n - - - - - - logs/tofhir-log-server.log - - %d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - - - logs/tofhir-log-server.%i.log.zip - 1 - 10 - - - - 10MB - - - - - - - - - - - - - - - - - diff --git a/tofhir-log-server/src/main/scala/io/tofhir/log/server/Boot.scala b/tofhir-log-server/src/main/scala/io/tofhir/log/server/Boot.scala deleted file mode 100644 index bc9bbb07..00000000 --- a/tofhir-log-server/src/main/scala/io/tofhir/log/server/Boot.scala +++ /dev/null @@ -1,5 +0,0 @@ -package io.tofhir.log.server - -object Boot extends App { - ToFhirLogServer.start() -} diff --git a/tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogHttpServer.scala b/tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogHttpServer.scala deleted file mode 100644 index 0fc71d4d..00000000 --- a/tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogHttpServer.scala +++ /dev/null @@ -1,67 +0,0 @@ -package io.tofhir.log.server - -import akka.Done -import akka.actor.ActorSystem -import akka.http.scaladsl.Http -import akka.http.scaladsl.server.Route -import com.typesafe.scalalogging.LazyLogging -import io.tofhir.server.common.config.WebServerConfig - -import java.util.concurrent.TimeUnit -import scala.concurrent.duration.{Duration, FiniteDuration} -import scala.concurrent._ -import scala.io.StdIn -import scala.util.{Failure, Success} - -object ToFhirLogHttpServer extends LazyLogging { - - def start(route: Route, webServerConfig: WebServerConfig)(implicit actorSystem: ActorSystem): Unit = { - implicit val executionContext: ExecutionContext = actorSystem.dispatcher - - val serverBindingFuture = Http().newServerAt(webServerConfig.serverHost, webServerConfig.serverPort).bind(route) - .map(serverBinding => { - serverBinding.addToCoordinatedShutdown(hardTerminationDeadline = FiniteDuration(10, TimeUnit.SECONDS)) - serverBinding.whenTerminated onComplete { - case Success(_) => - logger.info("Closing toFHIR HTTP server...") - actorSystem.terminate() - logger.info("toFHIR HTTP server gracefully terminated.") - case Failure(exception) => - logger.error("Problem while gracefully terminating toFHIR HTTP server!", exception) - } - serverBinding - }) - - var serverBinding: Option[Http.ServerBinding] = None - try { - serverBinding = Some(Await.result(serverBindingFuture, FiniteDuration(10L, TimeUnit.SECONDS))) - logger.info(s"tofHIR server ready at ${webServerConfig.serverHost}:${webServerConfig.serverPort}") - } catch { - case e: Exception => - logger.error("Problem while binding to the given HTTP address and port!", e) - actorSystem.terminate() - } - - //Wait for a shutdown signal - Await.ready(waitForShutdownSignal(), Duration.Inf) - serverBinding.get.terminate(FiniteDuration.apply(10L, TimeUnit.SECONDS)) - } - - protected def waitForShutdownSignal()(implicit executionContext: ExecutionContext): Future[Done] = { - val promise = Promise[Done]() - sys.addShutdownHook { - promise.trySuccess(Done) - } - Future { - blocking { - do { - val line = StdIn.readLine("Write 'q' or 'quit' to stop the server...\n") - if (line.equalsIgnoreCase("quit")) - promise.trySuccess(Done) - } while (!promise.isCompleted) - } - } - promise.future - } - -} diff --git a/tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogServer.scala b/tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogServer.scala deleted file mode 100644 index feaa6963..00000000 --- a/tofhir-log-server/src/main/scala/io/tofhir/log/server/ToFhirLogServer.scala +++ /dev/null @@ -1,15 +0,0 @@ -package io.tofhir.log.server - -import io.tofhir.log.server.endpoint.ExecutionEndpoint -import io.tofhir.server.common.config.WebServerConfig - -object ToFhirLogServer { - def start(): Unit = { - import io.tofhir.engine.Execution.actorSystem - - val webServerConfig = new WebServerConfig(actorSystem.settings.config.getConfig("webserver")) - val endpoint = new ExecutionEndpoint(webServerConfig) - - ToFhirLogHttpServer.start(endpoint.toFHIRRoute, webServerConfig) - } -} diff --git a/tofhir-log-server/src/main/scala/io/tofhir/log/server/config/ToFhirLogServerConfig.scala b/tofhir-log-server/src/main/scala/io/tofhir/log/server/config/ToFhirLogServerConfig.scala deleted file mode 100644 index 2b79ee05..00000000 --- a/tofhir-log-server/src/main/scala/io/tofhir/log/server/config/ToFhirLogServerConfig.scala +++ /dev/null @@ -1,24 +0,0 @@ -package io.tofhir.log.server.config - -import com.typesafe.config.Config - -/** - * ToFhir log-server configurations - */ -object ToFhirLogServerConfig { - - /** - * Get config file - */ - import io.tofhir.engine.Execution.actorSystem - protected lazy val config: Config = actorSystem.settings.config - - /** - * Config for toFhir log server - */ - private lazy val toFhirLogServerConfig: Config = config.getConfig("tofhir.log-server") - - /** Path of the file that contains results of mapping executions */ - lazy val mappingLogsFilePath: String = toFhirLogServerConfig.getString("filepath") - -} diff --git a/tofhir-log-server/src/main/scala/io/tofhir/log/server/endpoint/ExecutionEndpoint.scala b/tofhir-log-server/src/main/scala/io/tofhir/log/server/endpoint/ExecutionEndpoint.scala deleted file mode 100644 index 666d03a0..00000000 --- a/tofhir-log-server/src/main/scala/io/tofhir/log/server/endpoint/ExecutionEndpoint.scala +++ /dev/null @@ -1,98 +0,0 @@ -package io.tofhir.log.server.endpoint - -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import io.tofhir.common.model.Json4sSupport._ -import com.typesafe.scalalogging.LazyLogging -import io.tofhir.server.common.interceptor.IErrorHandler -import io.tofhir.log.server.service.ExecutionService -import ExecutionEndpoint.{SEGMENT_EXECUTIONS, SEGMENT_JOB, SEGMENT_LOGS, SEGMENT_PROJECTS} -import io.tofhir.server.common.config.WebServerConfig -import io.tofhir.server.common.interceptor.ICORSHandler - -class ExecutionEndpoint(webServerConfig: WebServerConfig) extends ICORSHandler with IErrorHandler with LazyLogging { - - val executionService: ExecutionService = new ExecutionService() - - lazy val toFHIRRoute: Route = - pathPrefix(webServerConfig.baseUri) { - corsHandler { - pathPrefix(SEGMENT_PROJECTS) { - pathPrefix(Segment) { projectId: String => { - pathPrefix(SEGMENT_JOB) { - pathPrefix(Segment) { jobId: String => - pathPrefix(SEGMENT_EXECUTIONS) { - pathEndOrSingleSlash { - getExecutions(projectId, jobId) // Get all executions for this job, jobs//executions - } ~ pathPrefix(Segment) { executionId: String => - pathEndOrSingleSlash { - getExecutionById(projectId, jobId, executionId) // get an execution, jobs//executions/ - } ~ pathPrefix(SEGMENT_LOGS) { - pathEndOrSingleSlash { - getExecutionLogs(executionId) // get logs of an execution, jobs//executions//logs - } - } - } - } - } - } - } - } - } - } - } - - /** - * Route to get executions of a mapping job - * */ - private def getExecutions(projectId: String, id: String): Route = { - get { - parameterMap { queryParams => // page and filter information is included (Ex: page=1&errorStatus=SUCCESS,FAILURE) - onComplete(executionService.getExecutions(projectId, id, queryParams)) { - case util.Success(response) => - val headers = List( - RawHeader(ICORSHandler.X_TOTAL_COUNT_HEADER, response._2.toString) - ) - respondWithHeaders(headers) { - complete(response._1) - } - } - } - } - } - - /** - * Route to get execution logs of a mapping job execution - * - * @param projectId - * @param jobId - * @param executionId - * @return - */ - private def getExecutionById(projectId: String, jobId: String, executionId: String): Route = { - get { - complete { - executionService.getExecutionById(projectId, jobId, executionId) - } - } - } - - /** - * Route to retrieve execution logs i.e. the logs of mapping task which are ran in the execution - * */ - private def getExecutionLogs(id: String): Route = { - get { - complete { - executionService.getExecutionLogs(id) - } - } - } -} - -object ExecutionEndpoint { - val SEGMENT_PROJECTS = "projects" - val SEGMENT_JOB = "jobs" - val SEGMENT_EXECUTIONS = "executions" - val SEGMENT_LOGS = "logs" -} diff --git a/tofhir-log-server/src/main/scala/io/tofhir/log/server/service/ExecutionService.scala b/tofhir-log-server/src/main/scala/io/tofhir/log/server/service/ExecutionService.scala deleted file mode 100644 index d7791f23..00000000 --- a/tofhir-log-server/src/main/scala/io/tofhir/log/server/service/ExecutionService.scala +++ /dev/null @@ -1,266 +0,0 @@ -package io.tofhir.log.server.service - -import com.typesafe.scalalogging.LazyLogging -import io.tofhir.engine.config.ToFhirConfig -import io.tofhir.log.server.config.ToFhirLogServerConfig -import io.tofhir.server.common.model.ResourceNotFound -import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder -import org.apache.spark.sql.functions.col -import org.apache.spark.sql.types._ -import org.apache.spark.sql.{Encoders, Row} -import org.json4s.JsonAST.{JObject, JValue} -import org.json4s.jackson.JsonMethods -import org.json4s.{JArray, JString} - -import scala.concurrent.ExecutionContext.Implicits.global -import scala.concurrent.Future - -/** - * Service to handle all execution related operations - * E.g. Run a mapping job, run a mapping task, run a test resource creation, get execution logs - * - */ -class ExecutionService() extends LazyLogging { - - /** - * Returns the logs of mapping tasks ran in the given execution. - * - * @param executionId the identifier of mapping job execution. - * @return the logs of mapping tasks - * */ - def getExecutionLogs(executionId: String): Future[Seq[JValue]] = { - Future { - // read the logs file - val dataFrame = ToFhirConfig.sparkSession.read.json(ToFhirLogServerConfig.mappingLogsFilePath) - // handle the case where no job has been run yet which makes the data frame empty - if (dataFrame.isEmpty) { - Seq.empty - } - else { - // Get mapping tasks logs for the given execution. ProjectId field is not null for selecting mappingTasksLogs, filter out row error logs. - val mappingTasksLogs = dataFrame.filter(s"executionId = '$executionId' and projectId is not null") - - // Handle the case where the job has not been run yet, which makes the data frame empty - if (mappingTasksLogs.isEmpty) { - Seq.empty - } else { - // Collect mapping tasks logs for matching with mappingUrl field of row error logs - var mappingTasksLogsData = mappingTasksLogs.collect() - - // Get row error logs for the given execution. ProjectId field is null for selecting row error logs, filter out mappingTasksLogs. - var rowErrorLogs = dataFrame.filter(s"executionId = '$executionId' and projectId is null") - - // Check whether there is any row error - if (!rowErrorLogs.isEmpty) { - - // Select needed columns from row error logs - rowErrorLogs = rowErrorLogs.select(List("errorCode", "errorDesc", "message", "mappingUrl").map(col): _*) - - // Group row error logs by mapping url - val rowErrorLogsGroupedByMappingUrl = rowErrorLogs.groupByKey(row => row.get(row.fieldIndex("mappingUrl")).toString)(Encoders.STRING) - - // Add row error details to mapping tasks logs if any error occurred while executing the mapping task. - val mappingTasksErrorLogsWithRowErrorLogs = rowErrorLogsGroupedByMappingUrl.mapGroups((mappingUrl, rowError) => { - // Find the related mapping task log to given mapping url - val mappingTaskLog = mappingTasksLogsData.filter(row => row.getAs[String]("mappingUrl") == mappingUrl) - // Append row error logs to the related mapping task log - Row.fromSeq(Row.unapplySeq(mappingTaskLog.head).get :+ rowError.toSeq) - })( - // Define a new schema for the resulting rows and create an encoder for it. We will add a "error_logs" column to mapping tasks logs that contains related error logs. - ExpressionEncoder(mappingTasksLogs.schema.add("error_logs", ArrayType( - new StructType() - .add("errorCode", StringType) - .add("errorDesc", StringType) - .add("message", StringType) - .add("mappingUrl", StringType) - ))) - ) - - // Build a map for updated mapping tasks logs (mappingUrl -> mapping logs with errors) - val updatedMappingTasksLogsMap = mappingTasksErrorLogsWithRowErrorLogs.collect().map(mappingLogsWithErrors => - (mappingLogsWithErrors.getAs[String]("mappingUrl"), mappingLogsWithErrors.getAs[String]("@timestamp")) -> mappingLogsWithErrors - ).toMap - - // Replace mapping task logs if it is in the map - mappingTasksLogsData = mappingTasksLogsData.map(mappingTaskLog => - updatedMappingTasksLogsMap.getOrElse((mappingTaskLog.getAs[String]("mappingUrl"), mappingTaskLog.getAs[String]("@timestamp")), mappingTaskLog)) - - } - - // return json objects for mapping tasks logs - mappingTasksLogsData.map(row => { - JsonMethods.parse(row.json).asInstanceOf[JObject] - }) - } - } - } - } - - /** - * Returns the list of mapping job executions. It extracts the logs from {@link logs/ tofhir - mappings.log} file for - * the given mapping job and groups them by their execution id and returns a single log for each execution. Further, - * it applies the pagination to the resulting execution logs. - * - * @param projectId project id the job belongs to - * @param jobId job id - * @param queryParams parameters to filter results such as paging - * @return a tuple as follows - * first element is the execution logs of mapping job as a JSON array. It returns an empty array if the job has not been run before. - * second element is the total number of executions without applying any filters i.e. query params - * @throws ResourceNotFound when mapping job does not exist - */ - def getExecutions(projectId: String, jobId: String, queryParams: Map[String, String]): Future[(Seq[JValue], Long)] = { - // retrieve the job to validate its existence - - Future { - // read the logs file - val dataFrame = ToFhirConfig.sparkSession.read.json(ToFhirLogServerConfig.mappingLogsFilePath) - // handle the case where no job has been run yet which makes the data frame empty - if (dataFrame.isEmpty) { - (Seq.empty, 0) - } - else { - val jobRuns = dataFrame.filter(s"jobId = '$jobId' and projectId = '$projectId'") - // handle the case where the job has not been run yet which makes the data frame empty - if (jobRuns.isEmpty) { - (Seq.empty, 0) - } else { - // group logs by execution id - val jobRunsGroupedByExecutionId = jobRuns.groupByKey(row => row.get(row.fieldIndex("executionId")).toString)(Encoders.STRING) - // get execution logs - val executionLogs = jobRunsGroupedByExecutionId.mapGroups((key, values) => { - // keeps the rows belonging to this execution - val rows: Seq[Row] = values.toSeq - // Extract values from the "mappingUrl" column using direct attribute access - val mappingUrls = rows.map(_.getAs[String]("mappingUrl")).distinct - // use the timestamp of first one, which is ran first, as timestamp of execution - val timestamp = rows.head.get(rows.head.fieldIndex("@timestamp")).toString - // Check if there is a row with result other than STARTED - val results: Seq[String] = rows.map(row => row.get(row.fieldIndex("result")).toString) - val status: String = ExecutionService.getErrorStatusOfExecution(results) - Row.fromSeq(Seq(key, mappingUrls, timestamp, status)) - })(ExpressionEncoder(StructType( - StructField("id", StringType) :: - StructField("mappingUrls", ArrayType(StringType)) :: - StructField("startTime", StringType) :: - StructField("errorStatus", StringType) :: Nil - ))) - // get the filter parameters - val dateBefore = queryParams.getOrElse("dateBefore", "") - val dateAfter = queryParams.getOrElse("dateAfter", "") - val errorStatuses = queryParams.getOrElse("errorStatuses", "") - - var filteredLogs = executionLogs - // Filter according to error status of the execution - if (errorStatuses.nonEmpty) { - filteredLogs = filteredLogs.filter(col("errorStatus").isin(errorStatuses.split(","): _*)) - } - - // Filter according to start date - if (dateAfter.nonEmpty) { - filteredLogs = filteredLogs.filter(col("startTime") > dateAfter) - } - if (dateBefore.nonEmpty) { - filteredLogs = filteredLogs.filter(col("startTime") < dateBefore) - } - // get length before doing pagination - val filteredCount = filteredLogs.count() - - val pageSize: Int = queryParams.getOrElse("rowsPerPage", "10").toInt - // handle the pagination according to the page size - val numOfPages = Math.ceil(filteredCount.toDouble / pageSize).toInt - val page = queryParams.getOrElse("page", "1").toInt - - if (page > numOfPages) { - (Seq.empty, 0) - } else { - // handle the case where requested page does not exist - val start = (page - 1) * pageSize - val end = Math.min(start + pageSize, filteredCount.toInt) - - // sort the executions by latest to oldest - val paginatedLogs = filteredLogs.sort(filteredLogs.col("startTime").desc).collect().slice(start, end) - - // Retrieve the running executions for the given job - (paginatedLogs.map(row => { - JsonMethods.parse(row.json).asInstanceOf[JObject] - }), filteredCount) - } - } - } - } - } - - /** - * Returns the execution logs for a specific execution ID. - * - * @param projectId project id the job belongs to - * @param jobId job id - * @param executionId execution id - * @return the execution summary as a JSON object - */ - def getExecutionById(projectId: String, jobId: String, executionId: String): Future[JObject] = { - // Retrieve the job to validate its existence - Future { - // Read the logs file - val dataFrame = ToFhirConfig.sparkSession.read.json(ToFhirLogServerConfig.mappingLogsFilePath) - // Filter logs by job and execution ID - val filteredLogs = dataFrame.filter(s"jobId = '$jobId' and projectId = '$projectId' and executionId = '$executionId'") - // Check if any logs exist for the given execution - if (filteredLogs.isEmpty) { // execution not found, return response with 404 status code - throw ResourceNotFound("Execution does not exists.", s"An execution with id $executionId does not exists.") - } else { - // Extract values from the "mappingUrl" column using direct attribute access - val mappingUrls = filteredLogs.select("mappingUrl").distinct().collect().map(_.getString(0)).toList - // Use the timestamp of the first log as the execution timestamp - val timestamp = filteredLogs.select("@timestamp").first().getString(0) - // Determine the status based on the success count - val results: Seq[String] = filteredLogs.select("result").collect().map(_.getString(0)).toSeq - val status: String = ExecutionService.getErrorStatusOfExecution(results) - // Create a JSON object representing the execution - val executionJson = JObject( - "id" -> JString(executionId), - "mappingUrls" -> JArray(mappingUrls.map(JString)), - "startTime" -> JString(timestamp), - "errorStatus" -> JString(status) - ) - executionJson - } - } - } - -} - -object ExecutionService { - - /** - * Determines the error status of the execution based on the results of the mapping tasks. - * - * @param results - * @return - */ - private def getErrorStatusOfExecution(results: Seq[String]): String = { - if (results.exists(_ == "PARTIAL_SUCCESS")) { - "PARTIAL_SUCCESS" - } else { - // success > 0 and failure = 0 means success - // success > 0 and failure > 0 means partial success - // success = 0 and failure > 0 means failure - // success = 0 and failure = 0 means started - val successCount = results.count(_ == "SUCCESS") - val failureCount = results.count(_ == "FAILURE") - if (successCount > 0 && failureCount == 0) { - "SUCCESS" - } else if (successCount > 0 && failureCount > 0) { - "PARTIAL_SUCCESS" - } else if (failureCount > 0) { - "FAILURE" - } else { - "STARTED" - } - } - } -} - - - diff --git a/tofhir-log-server/src/test/resources/application.conf b/tofhir-log-server/src/test/resources/application.conf deleted file mode 100644 index 5d446db9..00000000 --- a/tofhir-log-server/src/test/resources/application.conf +++ /dev/null @@ -1,6 +0,0 @@ -tofhir = { - log-server { - # The file that contains results of mapping executions - filepath = "tofhir-log-server/src/test/resources/log-sample.log" - } -} \ No newline at end of file diff --git a/tofhir-log-server/src/test/resources/log-sample.log b/tofhir-log-server/src/test/resources/log-sample.log deleted file mode 100644 index 85c71c85..00000000 --- a/tofhir-log-server/src/test/resources/log-sample.log +++ /dev/null @@ -1,14 +0,0 @@ -{"@timestamp":"2023-12-25T17:19:06.971+03:00","message":"toFHIR batch mapping result (STARTED) for execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14' of job 'pilot1-preop' in project 'pilot1' for mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping'!\n\t# of Invalid Rows: \t-1\n\t# of Not Mapped: \t-1\n\t# of Failed writes:\t-1\n\t# of Written FHIR resources:\t-1","logger_name":"io.tofhir.engine.mapping.FhirMappingJobManager","level":"INFO","jobId":"pilot1-preop","projectId":"pilot1","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","result":"STARTED","numOfInvalids":-1,"numOfNotMapped":-1,"numOfFhirResources":-1,"numOfFailedWrites":-1,"eventId":"MAPPING_JOB_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.005+03:00","message":"toFHIR batch mapping result (FAILURE) for execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14' of job 'pilot1-preop' in project 'pilot1' for mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping'!\n\t# of Invalid Rows: \t0\n\t# of Not Mapped: \t0\n\t# of Failed writes:\t10\n\t# of Written FHIR resources:\t0","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"INFO","jobId":"pilot1-preop","projectId":"pilot1","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","result":"FAILURE","numOfInvalids":0,"numOfNotMapped":0,"numOfFhirResources":0,"numOfFailedWrites":10,"eventId":"MAPPING_JOB_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.006+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p1\",\"gender\":\"male\",\"birthDate\":\"2000-05-10\",\"deceasedDateTime\":null,\"homePostalCode\":null}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p1","gender":"male","birthDate":"2000-05-10","deceasedDateTime":null,"homePostalCode":null},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.006+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p2\",\"gender\":\"male\",\"birthDate\":\"1985-05-08\",\"deceasedDateTime\":\"2017-03-10\",\"homePostalCode\":\"G02547\"}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p2","gender":"male","birthDate":"1985-05-08","deceasedDateTime":"2017-03-10","homePostalCode":"G02547"},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.006+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p3\",\"gender\":\"male\",\"birthDate\":\"1997-02\",\"deceasedDateTime\":null,\"homePostalCode\":null}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p3","gender":"male","birthDate":"1997-02","deceasedDateTime":null,"homePostalCode":null},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.006+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p4\",\"gender\":\"male\",\"birthDate\":\"1999-06-05\",\"deceasedDateTime\":null,\"homePostalCode\":\"H10564\"}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p4","gender":"male","birthDate":"1999-06-05","deceasedDateTime":null,"homePostalCode":"H10564"},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.006+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p5\",\"gender\":\"male\",\"birthDate\":\"1965-10-01\",\"deceasedDateTime\":\"2019-04-21\",\"homePostalCode\":\"G02547\"}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p5","gender":"male","birthDate":"1965-10-01","deceasedDateTime":"2019-04-21","homePostalCode":"G02547"},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.006+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p6\",\"gender\":\"female\",\"birthDate\":\"1991-03\",\"deceasedDateTime\":null,\"homePostalCode\":null}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p6","gender":"female","birthDate":"1991-03","deceasedDateTime":null,"homePostalCode":null},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.006+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p7\",\"gender\":\"female\",\"birthDate\":\"1972-10-25\",\"deceasedDateTime\":null,\"homePostalCode\":\"V13135\"}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p7","gender":"female","birthDate":"1972-10-25","deceasedDateTime":null,"homePostalCode":"V13135"},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.007+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p8\",\"gender\":\"female\",\"birthDate\":\"2010-01-10\",\"deceasedDateTime\":null,\"homePostalCode\":\"Z54564\"}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p8","gender":"female","birthDate":"2010-01-10","deceasedDateTime":null,"homePostalCode":"Z54564"},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.007+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p9\",\"gender\":\"female\",\"birthDate\":\"1999-05-12\",\"deceasedDateTime\":null,\"homePostalCode\":null}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p9","gender":"female","birthDate":"1999-05-12","deceasedDateTime":null,"homePostalCode":null},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-25T17:19:15.007+03:00","message":"Mapping failure (service_error) for job 'pilot1-preop' and mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping' within expression 'result' execution 'b9d60a61-6d0b-4ea1-9c4e-84e343334b14'!\n\tSource: {\"pid\":\"p10\",\"gender\":\"female\",\"birthDate\":\"2003-11\",\"deceasedDateTime\":null,\"homePostalCode\":null}\n\tError: FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"WARN","jobId":"pilot1-preop","executionId":"b9d60a61-6d0b-4ea1-9c4e-84e343334b14","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","mappingExpr":"result","source":{"pid":"p10","gender":"female","birthDate":"2003-11","deceasedDateTime":null,"homePostalCode":null},"errorCode":"service_error","errorDesc":"FHIR repository at url http://localhost:8082 returned an unidentified error while writing the resources!","errorExpr":null,"eventId":"MAPPING_RESULT"} -{"@timestamp":"2023-12-26T09:18:22.408+03:00","message":"toFHIR batch mapping result (STARTED) for execution '70503f99-8aea-4b4f-8b1b-6dbc3d5509fe' of job 'pilot1-preop' in project 'pilot1' for mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping'!\n\t# of Invalid Rows: \t-1\n\t# of Not Mapped: \t-1\n\t# of Failed writes:\t-1\n\t# of Written FHIR resources:\t-1","logger_name":"io.tofhir.engine.mapping.FhirMappingJobManager","level":"INFO","jobId":"pilot1-preop","projectId":"pilot1","executionId":"70503f99-8aea-4b4f-8b1b-6dbc3d5509fe","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","result":"STARTED","numOfInvalids":-1,"numOfNotMapped":-1,"numOfFhirResources":-1,"numOfFailedWrites":-1,"eventId":"MAPPING_JOB_RESULT"} -{"@timestamp":"2023-12-26T09:18:23.72+03:00","message":"toFHIR batch mapping result (SUCCESS) for execution '70503f99-8aea-4b4f-8b1b-6dbc3d5509fe' of job 'pilot1-preop' in project 'pilot1' for mapping 'https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping'!\n\t# of Invalid Rows: \t0\n\t# of Not Mapped: \t0\n\t# of Failed writes:\t0\n\t# of Written FHIR resources:\t10","logger_name":"io.tofhir.engine.data.write.SinkHandler$","level":"INFO","jobId":"pilot1-preop","projectId":"pilot1","executionId":"70503f99-8aea-4b4f-8b1b-6dbc3d5509fe","mappingUrl":"https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping","result":"SUCCESS","numOfInvalids":0,"numOfNotMapped":0,"numOfFhirResources":10,"numOfFailedWrites":0,"eventId":"MAPPING_JOB_RESULT"} diff --git a/tofhir-log-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala b/tofhir-log-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala deleted file mode 100644 index eeec4baa..00000000 --- a/tofhir-log-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala +++ /dev/null @@ -1,116 +0,0 @@ -package io.tofhir.server.service - -import io.tofhir.engine.Execution.actorSystem.dispatcher -import io.tofhir.engine.model.FhirMappingJobResult -import io.tofhir.common.model.Json4sSupport.formats -import io.tofhir.log.server.service.ExecutionService -import org.json4s.JsonAST.JArray -import org.scalatest.BeforeAndAfterAll -import org.scalatest.matchers.should.Matchers -import org.scalatest.wordspec.AsyncWordSpec - -/** - * Tests for the ExecutionService. - * - * This suite focuses on testing the functionality of the ExecutionService, which works with the log file provided - * in the test/resources/log-sample.log file. The log file includes records for the following scenarios: - * - An execution of a mapping job with one mapping, which fails due to an incorrect FHIR Repository URL. - * - An execution of a mapping job with one mapping, which completes successfully. - */ -class ExecutionServiceTest extends AsyncWordSpec with Matchers with BeforeAndAfterAll { - - val executionService: ExecutionService = new ExecutionService - // The identifier for the project - private val projectId = "pilot1" - // The identifier for the specific job - private val jobId = "pilot1-preop" - // The identifier for the first mapping job execution - private val firstMappingJobExecutionId = "b9d60a61-6d0b-4ea1-9c4e-84e343334b14" - // The identifier for the second mapping job execution - private val secondMappingJobExecutionId = "70503f99-8aea-4b4f-8b1b-6dbc3d5509fe" - - "The Execution Service" should { - - "should get mapping job executions" in { - executionService.getExecutions(projectId, jobId, Map.empty) - .map(executions => { - val executionsData = executions._1 - val count = executions._2 - count shouldEqual 2 - executionsData.length shouldEqual count - (executionsData.head \ "id").extract[String] shouldEqual secondMappingJobExecutionId - (executionsData.head \ "errorStatus").extract[String] shouldEqual FhirMappingJobResult.SUCCESS - (executionsData.head \ "mappingUrls").extract[Seq[String]].length shouldEqual 1 - - (executionsData(1) \ "id").extract[String] shouldEqual firstMappingJobExecutionId - (executionsData(1) \ "errorStatus").extract[String] shouldEqual FhirMappingJobResult.FAILURE - (executionsData(1) \ "mappingUrls").extract[Seq[String]].length shouldEqual 1 - }) - } - - "should get executions filtered by a date range" in { - val queryParams = Map("dateBefore" -> "2023-12-27", "dateAfter" -> "2023-12-26") - executionService.getExecutions(projectId, jobId, queryParams) - .map(executions => { - val executionsData = executions._1 - val count = executions._2 - count shouldEqual 1 - executionsData.length shouldEqual count - (executionsData.head \ "id").extract[String] shouldEqual secondMappingJobExecutionId - (executionsData.head \ "errorStatus").extract[String] shouldEqual FhirMappingJobResult.SUCCESS - (executionsData.head \ "mappingUrls").extract[Seq[String]].length shouldEqual 1 - (executionsData.head \ "mappingUrls")(0).extract[String] shouldEqual "https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping" - }) - } - - "should not get any execution when page number is greater than the maximum" in { - val queryParams = Map("dateBefore" -> "2023-12-27", "dateAfter" -> "2023-12-03", "rowsPerPage" -> "4", "page" -> "3") - executionService.getExecutions(projectId, jobId, queryParams) - .map(executions => { - val executionsData = executions._1 - val count = executions._2 - count shouldEqual 0 - executionsData.length shouldEqual count - }) - } - - "should get executions filtered by error status" in { - val queryParams = Map("errorStatuses" -> FhirMappingJobResult.SUCCESS) - executionService.getExecutions(projectId, jobId, queryParams) - .map(executions => { - val executionsData = executions._1 - val count = executions._2 - count shouldEqual 1 - executionsData.length shouldEqual count - (executionsData.head \ "id").extract[String] shouldEqual secondMappingJobExecutionId - (executionsData.head \ "errorStatus").extract[String] shouldEqual FhirMappingJobResult.SUCCESS - (executionsData.head \ "mappingUrls").extract[Seq[String]].length shouldEqual 1 - }) - } - - "should get execution by id" in { - executionService.getExecutionById(projectId, jobId, secondMappingJobExecutionId) - .map(execution => { - (execution \ "id").extract[String] shouldEqual secondMappingJobExecutionId - (execution \ "errorStatus").extract[String] shouldEqual FhirMappingJobResult.SUCCESS - (execution \ "mappingUrls").extract[Seq[String]].length shouldEqual 1 - (execution \ "mappingUrls")(0).extract[String] shouldEqual "https://aiccelerate.eu/fhir/mappings/pilot1/patient-mapping" - }) - } - - "should get execution logs by execution id" in { - executionService.getExecutionLogs(firstMappingJobExecutionId) - .map(logs => { - logs.length shouldEqual 2 - - // check the first log -> STARTED - (logs.head \ "result").extract[String] shouldEqual FhirMappingJobResult.STARTED - (logs.head \ "error_logs").extract[JArray].arr.size shouldEqual 10 - - // check the second log -> FAILURE - (logs(1) \ "result").extract[String] shouldEqual FhirMappingJobResult.FAILURE - (logs(1) \ "numOfFailedWrites").extract[String] shouldEqual "10" - }) - } - } -} diff --git a/tofhir-server/pom.xml b/tofhir-server/pom.xml index 5758fc89..d194b2d6 100644 --- a/tofhir-server/pom.xml +++ b/tofhir-server/pom.xml @@ -183,7 +183,15 @@ mockito-scala_2.13 test - + + + com.sndyuk + logback-more-appenders + + + org.fluentd + fluent-logger + com.typesafe.akka diff --git a/tofhir-server/src/main/resources/application.conf b/tofhir-server/src/main/resources/application.conf index 3bfcfc11..b80461fe 100644 --- a/tofhir-server/src/main/resources/application.conf +++ b/tofhir-server/src/main/resources/application.conf @@ -137,11 +137,6 @@ webserver = { } } -# The service from where tofhir-server will read the logs. -log-service = { - endpoint = "http://localhost:8086/tofhir-logs" -} - # Spark configurations spark = { app.name = "AICCELERATE Data Integration Suite" diff --git a/tofhir-server/src/main/resources/logback.xml b/tofhir-server/src/main/resources/logback.xml index b1100c41..f62ebd10 100644 --- a/tofhir-server/src/main/resources/logback.xml +++ b/tofhir-server/src/main/resources/logback.xml @@ -50,6 +50,9 @@ [ignore] + + ${LOG_FOLDER}/tofhir-mappings.%i.log.zip @@ -61,11 +64,27 @@ 10MB + + + + localhost + 24224 + + + INFO + + + true + + + + + @@ -76,10 +95,12 @@ + + diff --git a/tofhir-server/src/main/scala/io/tofhir/server/ToFhirServer.scala b/tofhir-server/src/main/scala/io/tofhir/server/ToFhirServer.scala index 329e3e6a..50237835 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/ToFhirServer.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/ToFhirServer.scala @@ -1,7 +1,7 @@ package io.tofhir.server import io.tofhir.engine.config.ToFhirConfig -import io.tofhir.server.config.{LogServiceConfig, RedCapServiceConfig} +import io.tofhir.server.config.RedCapServiceConfig import io.tofhir.server.common.config.WebServerConfig import io.tofhir.server.endpoint.ToFhirServerEndpoint import io.tofhir.server.fhir.FhirDefinitionsConfig @@ -12,9 +12,8 @@ object ToFhirServer { val webServerConfig = new WebServerConfig(actorSystem.settings.config.getConfig("webserver")) val fhirDefinitionsConfig = new FhirDefinitionsConfig(actorSystem.settings.config.getConfig("fhir")) - val logServiceConfig = new LogServiceConfig(actorSystem.settings.config.getConfig("log-service")) val redCapServiceConfig = new RedCapServiceConfig(actorSystem.settings.config.getConfig("tofhir-redcap")) - val endpoint = new ToFhirServerEndpoint(ToFhirConfig.engineConfig, webServerConfig, fhirDefinitionsConfig, logServiceConfig, redCapServiceConfig) + val endpoint = new ToFhirServerEndpoint(ToFhirConfig.engineConfig, webServerConfig, fhirDefinitionsConfig, redCapServiceConfig) ToFhirHttpServer.start(endpoint.toFHIRRoute, webServerConfig) } diff --git a/tofhir-server/src/main/scala/io/tofhir/server/config/LogServiceConfig.scala b/tofhir-server/src/main/scala/io/tofhir/server/config/LogServiceConfig.scala deleted file mode 100644 index 5c736467..00000000 --- a/tofhir-server/src/main/scala/io/tofhir/server/config/LogServiceConfig.scala +++ /dev/null @@ -1,10 +0,0 @@ -package io.tofhir.server.config - -import com.typesafe.config.Config - -import scala.util.Try - -class LogServiceConfig(logServiceConfig: Config) { - /** Host name/address to start service on. */ - lazy val logServiceEndpoint: String = Try(logServiceConfig.getString("endpoint")).getOrElse("http://localhost:8086/tofhir-log") -} diff --git a/tofhir-server/src/main/scala/io/tofhir/server/endpoint/JobEndpoint.scala b/tofhir-server/src/main/scala/io/tofhir/server/endpoint/JobEndpoint.scala index 8e5ae9b0..4b6a4c20 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/endpoint/JobEndpoint.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/endpoint/JobEndpoint.scala @@ -1,19 +1,17 @@ package io.tofhir.server.endpoint import akka.http.scaladsl.model.{HttpEntity, HttpResponse, StatusCodes} -import akka.http.scaladsl.model.headers.RawHeader import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.Route import akka.stream.StreamTcpException import com.typesafe.scalalogging.LazyLogging import io.tofhir.engine.model.FhirMappingJob -import io.tofhir.server.endpoint.JobEndpoint.{SEGMENT_EXECUTIONS, SEGMENT_JOB, SEGMENT_LOGS, SEGMENT_MAPPINGS, SEGMENT_RUN, SEGMENT_STATUS, SEGMENT_STOP, SEGMENT_TEST, SEGMENT_DESCHEDULE} +import io.tofhir.server.endpoint.JobEndpoint.{SEGMENT_EXECUTIONS, SEGMENT_JOB, SEGMENT_MAPPINGS, SEGMENT_RUN, SEGMENT_STATUS, SEGMENT_STOP, SEGMENT_TEST, SEGMENT_DESCHEDULE} import io.tofhir.common.model.Json4sSupport._ import io.tofhir.server.model.{ExecuteJobTask, RowSelectionOrder, TestResourceCreationRequest} import io.tofhir.server.service.{ExecutionService, JobService} import io.tofhir.engine.Execution.actorSystem.dispatcher import io.tofhir.engine.util.FhirMappingJobFormatter.formats -import io.tofhir.server.common.interceptor.ICORSHandler import io.tofhir.server.common.model.{ResourceNotFound, ToFhirRestCall} import io.tofhir.server.service.job.IJobRepository import io.tofhir.server.service.mapping.IMappingRepository @@ -21,10 +19,10 @@ import io.tofhir.server.service.schema.ISchemaRepository import scala.concurrent.Future -class JobEndpoint(jobRepository: IJobRepository, mappingRepository: IMappingRepository, schemaRepository: ISchemaRepository, logServiceEndpoint: String) extends LazyLogging { +class JobEndpoint(jobRepository: IJobRepository, mappingRepository: IMappingRepository, schemaRepository: ISchemaRepository) extends LazyLogging { val service: JobService = new JobService(jobRepository) - val executionService: ExecutionService = new ExecutionService(jobRepository, mappingRepository, schemaRepository, logServiceEndpoint) + val executionService: ExecutionService = new ExecutionService(jobRepository, mappingRepository, schemaRepository) def route(request: ToFhirRestCall): Route = { pathPrefix(SEGMENT_JOB) { @@ -50,13 +48,7 @@ class JobEndpoint(jobRepository: IJobRepository, mappingRepository: IMappingRepo pathEndOrSingleSlash { getExecutions(projectId, jobId) ~ stopExecutions(jobId) } ~ pathPrefix(Segment) { executionId: String => // operations on a single execution, jobs//executions/ - pathEndOrSingleSlash { - getExecutionById(projectId, jobId, executionId) - } ~ pathPrefix(SEGMENT_LOGS) { // logs on a single execution, jobs//executions//logs - pathEndOrSingleSlash { - getExecutionLogs(projectId, jobId, executionId) - } - } ~ pathPrefix(SEGMENT_RUN) { // jobs//executions//run + pathPrefix(SEGMENT_RUN) { // jobs//executions//run pathEndOrSingleSlash { continueJobExecution(projectId, jobId, executionId) } @@ -200,28 +192,8 @@ class JobEndpoint(jobRepository: IJobRepository, mappingRepository: IMappingRepo * */ private def getExecutions(projectId: String, id: String): Route = { get { - parameterMap { queryParams => // page and some filter options available. (page, dateBefore, dateAfter, errorStatuses, rowPerPage) - onComplete(executionService.getExecutions(projectId, id, queryParams)) { - case util.Success(response) => - val headers = List( - RawHeader(ICORSHandler.X_TOTAL_COUNT_HEADER, response._2.toString) - ) - respondWithHeaders(headers) { - complete(response._1) - } - case util.Failure(exception) => - exception match { - case e:StreamTcpException => - logger.error(s"Failed to retrieve executions for project $projectId job $id",e) - complete { - HttpResponse( - status = StatusCodes.GatewayTimeout, - entity = "The toFHIR Log Server is currently unavailable. Please try again later." - ) - } - case t:Throwable => throw t - } - } + complete { + executionService.getExecutions(projectId, id) } } } @@ -239,21 +211,6 @@ class JobEndpoint(jobRepository: IJobRepository, mappingRepository: IMappingRepo } } - /** - * Route to get execution logs of a mapping job execution - * @param projectId - * @param jobId - * @param executionId - * @return - */ - private def getExecutionById(projectId: String, jobId: String, executionId: String): Route = { - get { - complete { - executionService.getExecutionById(projectId, jobId, executionId) - } - } - } - /** * Route to continue a job execution with parameters (e.g. clearCheckpoint) * @param projectId @@ -316,17 +273,6 @@ class JobEndpoint(jobRepository: IJobRepository, mappingRepository: IMappingRepo } } } - - /** - * Route to retrieve execution logs i.e. the logs of mapping task which are ran in the execution - * */ - private def getExecutionLogs(projectId: String, jobId: String, executionId: String): Route = { - get { - complete { - executionService.getExecutionLogs(projectId: String, jobId: String, executionId: String) - } - } - } } object JobEndpoint { @@ -334,7 +280,6 @@ object JobEndpoint { val SEGMENT_RUN = "run" val SEGMENT_STATUS = "status" val SEGMENT_EXECUTIONS = "executions" - val SEGMENT_LOGS = "logs" val SEGMENT_TEST = "test" val SEGMENT_STOP = "stop" val SEGMENT_DESCHEDULE = "deschedule" diff --git a/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ProjectEndpoint.scala b/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ProjectEndpoint.scala index 55235588..7f7f6a15 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ProjectEndpoint.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ProjectEndpoint.scala @@ -26,13 +26,12 @@ class ProjectEndpoint(schemaRepository: ISchemaRepository, mappingRepository: IMappingRepository, jobRepository: IJobRepository, mappingContextRepository: IMappingContextRepository, - projectRepository: IProjectRepository, - logServiceEndpoint: String) extends LazyLogging { + projectRepository: IProjectRepository) extends LazyLogging { val service: ProjectService = new ProjectService(projectRepository, jobRepository, mappingRepository, mappingContextRepository, schemaRepository) val schemaDefinitionEndpoint: SchemaDefinitionEndpoint = new SchemaDefinitionEndpoint(schemaRepository, mappingRepository) val mappingEndpoint: MappingEndpoint = new MappingEndpoint(mappingRepository, jobRepository) - val jobEndpoint: JobEndpoint = new JobEndpoint(jobRepository, mappingRepository, schemaRepository, logServiceEndpoint) + val jobEndpoint: JobEndpoint = new JobEndpoint(jobRepository, mappingRepository, schemaRepository) val mappingContextEndpoint: MappingContextEndpoint = new MappingContextEndpoint(mappingContextRepository) def route(request: ToFhirRestCall): Route = { diff --git a/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ToFhirServerEndpoint.scala b/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ToFhirServerEndpoint.scala index e9f10340..ef6a4b75 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ToFhirServerEndpoint.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/endpoint/ToFhirServerEndpoint.scala @@ -4,7 +4,7 @@ import akka.http.scaladsl.model.{HttpMethod, Uri} import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{RejectionHandler, Route} import io.tofhir.engine.config.ToFhirEngineConfig -import io.tofhir.server.config.{LogServiceConfig, RedCapServiceConfig} +import io.tofhir.server.config.RedCapServiceConfig import io.tofhir.server.common.config.WebServerConfig import io.tofhir.server.fhir.FhirDefinitionsConfig import io.tofhir.server.common.interceptor.{ICORSHandler, IErrorHandler} @@ -25,7 +25,7 @@ import java.util.UUID * Encapsulates all services and directives * Main Endpoint for toFHIR server */ -class ToFhirServerEndpoint(toFhirEngineConfig: ToFhirEngineConfig, webServerConfig: WebServerConfig, fhirDefinitionsConfig: FhirDefinitionsConfig, logServiceConfig: LogServiceConfig, redCapServiceConfig: RedCapServiceConfig) extends ICORSHandler with IErrorHandler { +class ToFhirServerEndpoint(toFhirEngineConfig: ToFhirEngineConfig, webServerConfig: WebServerConfig, fhirDefinitionsConfig: FhirDefinitionsConfig, redCapServiceConfig: RedCapServiceConfig) extends ICORSHandler with IErrorHandler { val projectRepository: ProjectFolderRepository = new ProjectFolderRepository(toFhirEngineConfig) // creating the repository instance globally as weed a singleton instance val mappingRepository: ProjectMappingFolderRepository = new ProjectMappingFolderRepository(toFhirEngineConfig.mappingRepositoryFolderPath, projectRepository) @@ -39,7 +39,7 @@ class ToFhirServerEndpoint(toFhirEngineConfig: ToFhirEngineConfig, webServerConf // Initialize the projects by reading the resources available in the file system new FolderDBInitializer(schemaRepository, mappingRepository, mappingJobRepository, projectRepository, mappingContextRepository).init() - val projectEndpoint = new ProjectEndpoint(schemaRepository, mappingRepository, mappingJobRepository, mappingContextRepository, projectRepository, logServiceConfig.logServiceEndpoint) + val projectEndpoint = new ProjectEndpoint(schemaRepository, mappingRepository, mappingJobRepository, mappingContextRepository, projectRepository) val fhirDefinitionsEndpoint = new FhirDefinitionsEndpoint(fhirDefinitionsConfig) val fhirPathFunctionsEndpoint = new FhirPathFunctionsEndpoint() val redcapEndpoint = new RedCapEndpoint(redCapServiceConfig) diff --git a/tofhir-server/src/main/scala/io/tofhir/server/service/ExecutionService.scala b/tofhir-server/src/main/scala/io/tofhir/server/service/ExecutionService.scala index a0c10efc..6a75c01d 100644 --- a/tofhir-server/src/main/scala/io/tofhir/server/service/ExecutionService.scala +++ b/tofhir-server/src/main/scala/io/tofhir/server/service/ExecutionService.scala @@ -17,11 +17,10 @@ import io.tofhir.server.model.{ExecuteJobTask, TestResourceCreationRequest} import io.tofhir.server.service.job.IJobRepository import io.tofhir.server.service.mapping.IMappingRepository import io.tofhir.server.service.schema.ISchemaRepository -import io.tofhir.server.util.{DataFrameUtil, LogServiceClient} +import io.tofhir.server.util.DataFrameUtil import io.tofhir.engine.mapping.MappingJobScheduler import org.apache.commons.io import org.json4s.JsonAST.{JBool, JObject, JValue} -import org.json4s.JsonDSL.jobject2assoc import org.json4s.jackson.JsonMethods import org.json4s.{JArray, JString} @@ -36,9 +35,8 @@ import scala.concurrent.{ExecutionContext, Future} * @param jobRepository * @param mappingRepository * @param schemaRepository - * @param logServiceEndpoint */ -class ExecutionService(jobRepository: IJobRepository, mappingRepository: IMappingRepository, schemaRepository: ISchemaRepository, logServiceEndpoint: String) extends LazyLogging { +class ExecutionService(jobRepository: IJobRepository, mappingRepository: IMappingRepository, schemaRepository: ISchemaRepository) extends LazyLogging { val externalMappingFunctions: Map[String, IFhirPathFunctionLibraryFactory] = Map( "rxn" -> new RxNormApiFunctionLibraryFactory("https://rxnav.nlm.nih.gov", 2), @@ -46,7 +44,6 @@ class ExecutionService(jobRepository: IJobRepository, mappingRepository: IMappin ) // TODO do not define engine and client as a global variable inside the class. (Testing becomes impossible) val toFhirEngine = new ToFhirEngine(Some(mappingRepository), Some(schemaRepository), externalMappingFunctions) - val logServiceClient = new LogServiceClient(logServiceEndpoint) import Execution.actorSystem implicit val ec: ExecutionContext = actorSystem.dispatcher @@ -237,94 +234,37 @@ class ExecutionService(jobRepository: IJobRepository, mappingRepository: IMappin } /** - * Returns the logs of mapping tasks ran in the given execution. - * - * @param executionId the identifier of mapping job execution. - * @return the logs of mapping tasks - * */ - def getExecutionLogs(projectId: String, jobId: String, executionId: String): Future[Seq[JValue]] = { - logServiceClient.getExecutionLogs(projectId, jobId, executionId) - .map(mappingTasksLogsResponse => { - logger.debug(s"Retrieved execution logs for projectId: $projectId, jobId: $jobId, executionId: $executionId") - mappingTasksLogsResponse.map(logResponse => { - val logResponseObject: JObject = logResponse.asInstanceOf[JObject] - - JObject( - logResponseObject.obj :+ ("runningStatus" -> JBool( - toFhirEngine.runningJobRegistry.executionExists((logResponseObject \ "jobId").extract[String], executionId, (logResponseObject \ "mappingUrl").extractOpt[String]) - ))) - }) - }) - } - - /** - * Returns the list of mapping job executions. It extracts the logs from {@link logs/ tofhir - mappings.log} file for - * the given mapping job and groups them by their execution id and returns a single log for each execution. Further, - * it applies the pagination to the resulting execution logs. + * Returns the ongoing (i.e. running or scheduled) mapping job executions. * * @param projectId project id the job belongs to * @param jobId job id - * @param queryParams parameters to filter results such as paging - * @return a tuple as follows - * first element is the execution logs of mapping job as a JSON array. It returns an empty array if the job has not been run before. - * second element is the total number of executions without applying any filters i.e. query params + * @return a list of JSONs indicating the execution id and its status i.e. runningStatus or scheduled * @throws ResourceNotFound when mapping job does not exist */ - def getExecutions(projectId: String, jobId: String, queryParams: Map[String, String]): Future[(Seq[JValue], Long)] = { + def getExecutions(projectId: String, jobId: String): Future[Seq[JValue]] = { // retrieve the job to validate its existence jobRepository.getJob(projectId, jobId).flatMap { case Some(_) => - // Desired page number - val page = queryParams.getOrElse("page", "1") - // Request executions before this date - val dateBefore = queryParams.getOrElse("dateBefore", "") - // Request executions after this date - val dateAfter = queryParams.getOrElse("dateAfter", "") - // Desired error statuses - val errorStatuses = queryParams.getOrElse("errorStatuses", "") - // log count per page - val rowPerPage = queryParams.getOrElse("rowPerPage", "10") - - logServiceClient.getExecutions(projectId, jobId, page, rowPerPage, dateBefore, dateAfter, errorStatuses).map(paginatedLogsResponse => { - logger.debug(s"Retrieved executions for projectId: $projectId, jobId: $jobId, page: $page") - // Retrieve the running executions for the given job - val jobExecutions: Set[String] = toFhirEngine.runningJobRegistry.getRunningExecutions(jobId) - - val ret = paginatedLogsResponse._1.map(log => { - val logJson: JObject = log.asInstanceOf[JObject] - val executionId: String = (logJson \ "id").extract[String] - JObject( - logJson.obj :+ ("runningStatus" -> JBool(jobExecutions.contains(executionId))) :+ - ("scheduled" -> JBool(toFhirEngine.runningJobRegistry.isScheduled(jobId, executionId))) + // Retrieve the running executions for the given job + val runningExecutionsJson: Seq[JValue] = toFhirEngine.runningJobRegistry.getRunningExecutions(jobId) + .map(id => JObject( + List( + "id" -> JString(id), + "runningStatus" -> JBool(true) ) - }) - (ret, paginatedLogsResponse._2) - }) + )).toSeq + // Retrieve the scheduled executions for the given job + val scheduledExecutionsJson: Seq[JValue] = toFhirEngine.runningJobRegistry.getScheduledExecutions(jobId) + .map(id => JObject( + List( + "id" -> JString(id), + "scheduled" -> JBool(true) + ) + )).toSeq - case None => throw ResourceNotFound("Mapping job does not exists.", s"A mapping job with id $jobId does not exists") - } - } + Future.successful(runningExecutionsJson ++ scheduledExecutionsJson) - /** - * Returns the execution logs for a specific execution ID. - * - * @param projectId project id the job belongs to - * @param jobId job id - * @param executionId execution id - * @return the execution summary as a JSON object - */ - def getExecutionById(projectId: String, jobId: String, executionId: String): Future[JObject] = { - // Retrieve the job to validate its existence - jobRepository.getJob(projectId, jobId).flatMap { - case Some(_) => - // Get - logServiceClient.getExecutionById(projectId, jobId, executionId).map(executionJson=> { - logger.debug(s"Retrieved execution for projectId: $projectId, jobId: $jobId, executionId: $executionId") - // Add runningStatus field to the JSON object - executionJson ~ ("runningStatus" -> JBool(toFhirEngine.runningJobRegistry.getRunningExecutions(jobId).contains(executionId))) ~ ("scheduled" -> JBool(toFhirEngine.runningJobRegistry.isScheduled(jobId, executionId))) - }) - case None => - throw ResourceNotFound("Mapping job does not exist.", s"A mapping job with id $jobId does not exist") + case None => throw ResourceNotFound("Mapping job does not exists.", s"A mapping job with id $jobId does not exists") } } diff --git a/tofhir-server/src/main/scala/io/tofhir/server/util/LogServiceClient.scala b/tofhir-server/src/main/scala/io/tofhir/server/util/LogServiceClient.scala deleted file mode 100644 index f7eb9cb0..00000000 --- a/tofhir-server/src/main/scala/io/tofhir/server/util/LogServiceClient.scala +++ /dev/null @@ -1,110 +0,0 @@ -package io.tofhir.server.util - -import akka.http.scaladsl.Http -import akka.http.scaladsl.model.{HttpMethods, HttpRequest, Uri} -import io.tofhir.engine.Execution.actorSystem -import io.tofhir.engine.Execution.actorSystem.dispatcher -import io.tofhir.server.common.interceptor.ICORSHandler -import io.tofhir.common.model.Json4sSupport.formats -import org.json4s.JValue -import org.json4s.JsonAST.JObject -import org.json4s.jackson.JsonMethods - -import scala.concurrent.Future -import scala.concurrent.duration.DurationInt - -/** - * A client to connect to the log service - * // TODO handle exceptional cases in the responses - * - * @param logServiceEndpoint - */ -class LogServiceClient(logServiceEndpoint: String) { - val timeout = 20.seconds - - /** - * Retrieves logs for the executions associated to a specific job - * - * @param projectId - * @param jobId - * @param page desired number of page - * @param rowPerPage row count per page - * @param dateBefore last date of the filtered executions - * @param dateAfter start date of the filtered executions - * @param errorStatuses comma-separated list of error statuses to be used for filtering. - * @return A future of a tuple containing - * the details of individual executions as the first element - * total number of executions as the second element - * //TODO we can define a dedicated class representing the response type - */ - def getExecutions(projectId: String, jobId: String, page: String, rowPerPage: String, dateBefore: String, dateAfter: String, errorStatuses: String ): Future[(Seq[JValue], Long)] = { - val params = Map("page" -> page, - "dateBefore" -> dateBefore, - "dateAfter" -> dateAfter, - "errorStatuses" -> errorStatuses, - "rowPerPage" -> rowPerPage) - val uri: Uri = s"$logServiceEndpoint/projects/$projectId/jobs/$jobId/executions" - val request = HttpRequest( - method = HttpMethods.GET, - ).withUri(uri.withQuery(Uri.Query(params))) - - var countHeader: Long = 0 - Http().singleRequest(request) - .flatMap(resp => { - countHeader = resp.headers.find(_.name == ICORSHandler.X_TOTAL_COUNT_HEADER).map(_.value).get.toInt - resp.entity.toStrict(timeout) - }) - .map(strictEntity => { - val response = strictEntity.data.utf8String - (JsonMethods.parse(response).extract[Seq[JValue]], countHeader) - }) - } - - /** - * Retrieves logs for a specific execution - * - * @param projectId - * @param jobId - * @param executionId - * @return - */ - def getExecutionLogs(projectId: String, jobId: String, executionId: String): Future[Seq[JValue]] = { - val request = HttpRequest( - method = HttpMethods.GET, - uri = s"$logServiceEndpoint/projects/$projectId/jobs/$jobId/executions/$executionId/logs" - ) - - Http().singleRequest(request) - .flatMap(resp => { - resp.entity.toStrict(timeout) - }) - .map(strictEntity => { - val response = strictEntity.data.utf8String - JsonMethods.parse(response).extract[Seq[JValue]] - }) - } - - /** - * Retrieves execution details including mapping tasks, error status, start time, etc. - * - * @param projectId - * @param jobId - * @param executionId - * @return - */ - def getExecutionById(projectId: String, jobId: String, executionId: String): Future[JObject] = { - val request = HttpRequest( - method = HttpMethods.GET, - uri = s"$logServiceEndpoint/projects/$projectId/jobs/$jobId/executions/$executionId" - ) - - Http().singleRequest(request) - .flatMap { resp => resp.entity.toStrict(timeout) } - .map(strictEntity => { - println() - val response = strictEntity.data.utf8String - JsonMethods.parse(response).extract[JObject] - }) - - } -} diff --git a/tofhir-server/src/test/scala/io/tofhir/server/BaseEndpointTest.scala b/tofhir-server/src/test/scala/io/tofhir/server/BaseEndpointTest.scala index a35a4976..6926cc12 100644 --- a/tofhir-server/src/test/scala/io/tofhir/server/BaseEndpointTest.scala +++ b/tofhir-server/src/test/scala/io/tofhir/server/BaseEndpointTest.scala @@ -8,7 +8,7 @@ import io.tofhir.common.model.Json4sSupport.formats import io.tofhir.engine.config.ToFhirEngineConfig import io.tofhir.engine.util.FhirMappingJobFormatter.EnvironmentVariable import io.tofhir.engine.util.FileUtils -import io.tofhir.server.config.{LogServiceConfig, RedCapServiceConfig} +import io.tofhir.server.config.RedCapServiceConfig import io.tofhir.server.common.config.WebServerConfig import io.tofhir.server.endpoint.ToFhirServerEndpoint import io.tofhir.server.fhir.FhirDefinitionsConfig @@ -32,7 +32,6 @@ trait BaseEndpointTest extends AnyWordSpec with Matchers with ScalatestRouteTest val toFhirEngineConfig: ToFhirEngineConfig = new ToFhirEngineConfig(system.settings.config.getConfig("tofhir")) val webServerConfig = new WebServerConfig(system.settings.config.getConfig("webserver")) val fhirDefinitionsConfig = new FhirDefinitionsConfig(system.settings.config.getConfig("fhir")) - val logServiceConfig = new LogServiceConfig(system.settings.config.getConfig("log-service")) val redCapServiceConfig = new RedCapServiceConfig(system.settings.config.getConfig("tofhir-redcap")) // route endpoint var route: Route = _ @@ -82,7 +81,7 @@ trait BaseEndpointTest extends AnyWordSpec with Matchers with ScalatestRouteTest FileUtils.getPath(fhirDefinitionsConfig.codesystemsPath.get).toFile.mkdirs() FileUtils.getPath(fhirDefinitionsConfig.valuesetsPath.get).toFile.mkdirs() // initialize endpoint and route - val endpoint = new ToFhirServerEndpoint(toFhirEngineConfig, webServerConfig, fhirDefinitionsConfig, logServiceConfig, redCapServiceConfig) + val endpoint = new ToFhirServerEndpoint(toFhirEngineConfig, webServerConfig, fhirDefinitionsConfig, redCapServiceConfig) route = endpoint.toFHIRRoute } diff --git a/tofhir-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala b/tofhir-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala index 681bf270..effcec7d 100644 --- a/tofhir-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala +++ b/tofhir-server/src/test/scala/io/tofhir/server/service/ExecutionServiceTest.scala @@ -45,7 +45,7 @@ class ExecutionServiceTest extends AsyncWordSpec with Matchers with BeforeAndAft val schemaRepository: SchemaFolderRepository = getMockSchemaRepository val mappingJobRepository: JobFolderRepository = getMockMappingJobRepository // the execution service instance for the test - val executionService: ExecutionService = new ExecutionService(mappingJobRepository, mappingRepository, schemaRepository, "") + val executionService: ExecutionService = new ExecutionService(mappingJobRepository, mappingRepository, schemaRepository) "The Execution Service" should { "should clear checkpoint directory" in {

bghW^ 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