Skip to content

Commit

Permalink
Improve Performance of ValueSet $validate-code
Browse files Browse the repository at this point in the history
Considerably improved performance for SNOMED CT by introducing a parent
index and for normal code systems by introducing a graph cache.

Also added a Terminology Service section to the Performance section in
the documentation.
  • Loading branch information
alexanderkiel committed Feb 3, 2025
1 parent 6088092 commit e0f832c
Show file tree
Hide file tree
Showing 43 changed files with 914 additions and 271 deletions.
19 changes: 19 additions & 0 deletions .github/scripts/test-terminology-service-graph-cache-metrics.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash -e

SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
. "$SCRIPT_DIR/util.sh"

URL="http://localhost:8081/metrics"

num-metrics() {
NAME="$1"
FILTER="$2"
curl -s "$URL" | grep "$NAME" | grep -c "$FILTER"
}

# terminology service graph cache is available
test "blaze_cache_estimated_size terminology-service-graph-cache" "$(num-metrics "blaze_cache_estimated_size" "name=\"terminology-service-graph-cache\"")" "1"

# other caches are still available
test "blaze_cache_estimated_size tx-cache" "$(num-metrics "blaze_cache_estimated_size" "name=\"tx-cache\"")" "1"
test "blaze_cache_estimated_size resource-cache" "$(num-metrics "blaze_cache_estimated_size" "name=\"resource-cache\"")" "1"
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1263,7 +1263,7 @@ jobs:
run: docker load --input /tmp/blaze.tar

- name: Run Blaze
run: docker run --name blaze -d -e JAVA_TOOL_OPTIONS=-Xmx4g -e ENABLE_TERMINOLOGY_SERVICE=true -e ENABLE_TERMINOLOGY_LOINC=true -p 8080:8080 --read-only --tmpfs /tmp:exec -v blaze-data:/app/data blaze:latest
run: docker run --name blaze -d -e JAVA_TOOL_OPTIONS=-Xmx4g -e ENABLE_TERMINOLOGY_SERVICE=true -e ENABLE_TERMINOLOGY_LOINC=true -p 8080:8080 -p 8081:8081 --read-only --tmpfs /tmp:exec -v blaze-data:/app/data blaze:latest

- name: Install All KDS Terminology Resources
run: make -C .github/value-set-expand install
Expand All @@ -1274,6 +1274,9 @@ jobs:
- name: Check Capability Statement
run: .github/scripts/check-capability-statement-terminology-service.sh

- name: Prometheus Metrics
run: .github/scripts/test-terminology-service-graph-cache-metrics.sh

- name: Upload KDS Terminology Resources
run: .github/value-set-expand/upload-all.sh

Expand Down
Loading

0 comments on commit e0f832c

Please sign in to comment.