From 356f279428305a02bf40cfe9d9928369a021fad8 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Sat, 7 Jun 2025 13:16:51 +0700 Subject: [PATCH] Docker: Env var `SE_OTEL_RESOURCE_ATTRIBUTES` to add more tracing attributes Signed-off-by: Viet Nguyen Duc --- Distributor/start-selenium-grid-distributor.sh | 2 +- ENV_VARIABLES.md | 5 +++++ EventBus/start-selenium-grid-eventbus.sh | 2 +- Hub/start-selenium-grid-hub.sh | 2 +- NodeBase/start-selenium-node.sh | 2 +- NodeDocker/start-selenium-grid-docker.sh | 2 +- Router/start-selenium-grid-router.sh | 2 +- SessionQueue/start-selenium-grid-session-queue.sh | 2 +- Sessions/start-selenium-grid-sessions.sh | 2 +- Standalone/start-selenium-standalone.sh | 2 +- StandaloneDocker/start-selenium-grid-docker.sh | 2 +- scripts/generate_list_env_vars/description.yaml | 15 +++++++++++++++ scripts/generate_list_env_vars/value.yaml | 12 +++++++++++- 13 files changed, 41 insertions(+), 11 deletions(-) diff --git a/Distributor/start-selenium-grid-distributor.sh b/Distributor/start-selenium-grid-distributor.sh index 923e8cb97d..4af6dc6d5f 100755 --- a/Distributor/start-selenium-grid-distributor.sh +++ b/Distributor/start-selenium-grid-distributor.sh @@ -163,7 +163,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/ENV_VARIABLES.md b/ENV_VARIABLES.md index 558267fd48..37fd6654d5 100644 --- a/ENV_VARIABLES.md +++ b/ENV_VARIABLES.md @@ -147,3 +147,8 @@ | SE_EXTRA_LIBS | | Extra jars to add to the classpath in server component bootstrap | --ext | | SE_NODE_CONNECTION_LIMIT_PER_SESSION | 10 | | | | SE_SUPERVISORD_UNIX_SERVER_PASSWORD | secret | | | +| SE_FFMPEG_THREADS | | | | +| SE_OTEL_RESOURCE_ATTRIBUTES | | Add more attributes to the OpenTelemetry resource, e.g. "service.version=1.0.0,deployment.environment=production" | | +| SE_VIDEO_BUFSIZE | | | | +| SE_VIDEO_CRF | | | | +| SE_VIDEO_MAXRATE | | | | diff --git a/EventBus/start-selenium-grid-eventbus.sh b/EventBus/start-selenium-grid-eventbus.sh index 83b519da28..13cf984815 100755 --- a/EventBus/start-selenium-grid-eventbus.sh +++ b/EventBus/start-selenium-grid-eventbus.sh @@ -93,7 +93,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/Hub/start-selenium-grid-hub.sh b/Hub/start-selenium-grid-hub.sh index 0203b50f0a..60daeff0cd 100755 --- a/Hub/start-selenium-grid-hub.sh +++ b/Hub/start-selenium-grid-hub.sh @@ -143,7 +143,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/NodeBase/start-selenium-node.sh b/NodeBase/start-selenium-node.sh index 7a01c076bf..f57a2ce2f0 100755 --- a/NodeBase/start-selenium-node.sh +++ b/NodeBase/start-selenium-node.sh @@ -142,7 +142,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/NodeDocker/start-selenium-grid-docker.sh b/NodeDocker/start-selenium-grid-docker.sh index c0f6ee96ed..6bacfc6f25 100755 --- a/NodeDocker/start-selenium-grid-docker.sh +++ b/NodeDocker/start-selenium-grid-docker.sh @@ -110,7 +110,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/Router/start-selenium-grid-router.sh b/Router/start-selenium-grid-router.sh index 4fa85941e3..e7c357ac4d 100755 --- a/Router/start-selenium-grid-router.sh +++ b/Router/start-selenium-grid-router.sh @@ -144,7 +144,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/SessionQueue/start-selenium-grid-session-queue.sh b/SessionQueue/start-selenium-grid-session-queue.sh index e774b4f4ac..2260b3c511 100755 --- a/SessionQueue/start-selenium-grid-session-queue.sh +++ b/SessionQueue/start-selenium-grid-session-queue.sh @@ -97,7 +97,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/Sessions/start-selenium-grid-sessions.sh b/Sessions/start-selenium-grid-sessions.sh index 0c494a902b..f5c496c4b6 100755 --- a/Sessions/start-selenium-grid-sessions.sh +++ b/Sessions/start-selenium-grid-sessions.sh @@ -119,7 +119,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/Standalone/start-selenium-standalone.sh b/Standalone/start-selenium-standalone.sh index e9cb86d99c..72584c54d9 100755 --- a/Standalone/start-selenium-standalone.sh +++ b/Standalone/start-selenium-standalone.sh @@ -142,7 +142,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/StandaloneDocker/start-selenium-grid-docker.sh b/StandaloneDocker/start-selenium-grid-docker.sh index ff5fc152d7..15e0d8acf8 100755 --- a/StandaloneDocker/start-selenium-grid-docker.sh +++ b/StandaloneDocker/start-selenium-grid-docker.sh @@ -115,7 +115,7 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; fi echo "Tracing is enabled" if [ -n "$SE_OTEL_SERVICE_NAME" ]; then - SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}" + SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.resource.attributes=service.name=${SE_OTEL_SERVICE_NAME}${SE_OTEL_RESOURCE_ATTRIBUTES:+,${SE_OTEL_RESOURCE_ATTRIBUTES}}" fi if [ -n "$SE_OTEL_TRACES_EXPORTER" ]; then SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.traces.exporter=${SE_OTEL_TRACES_EXPORTER}" diff --git a/scripts/generate_list_env_vars/description.yaml b/scripts/generate_list_env_vars/description.yaml index 327659c2dd..e938a8e19f 100644 --- a/scripts/generate_list_env_vars/description.yaml +++ b/scripts/generate_list_env_vars/description.yaml @@ -449,3 +449,18 @@ - name: SE_SUPERVISORD_UNIX_SERVER_PASSWORD description: '' cli: '' +- name: SE_FFMPEG_THREADS + description: '' + cli: '' +- name: SE_OTEL_RESOURCE_ATTRIBUTES + description: Add more attributes to the OpenTelemetry resource, e.g. "service.version=1.0.0,deployment.environment=production" + cli: '' +- name: SE_VIDEO_BUFSIZE + description: '' + cli: '' +- name: SE_VIDEO_CRF + description: '' + cli: '' +- name: SE_VIDEO_MAXRATE + description: '' + cli: '' diff --git a/scripts/generate_list_env_vars/value.yaml b/scripts/generate_list_env_vars/value.yaml index 620fe310b4..e8f7ebdc0f 100644 --- a/scripts/generate_list_env_vars/value.yaml +++ b/scripts/generate_list_env_vars/value.yaml @@ -38,6 +38,8 @@ default: '' - name: SE_EXTRA_LIBS default: '' +- name: SE_FFMPEG_THREADS + default: '' - name: SE_FRAME_RATE default: '15' - name: SE_GRID_URL @@ -81,7 +83,7 @@ - name: SE_NODE_BROWSER_VERSION default: stable - name: SE_NODE_CONNECTION_LIMIT_PER_SESSION - default: '200' + default: '10' - name: SE_NODE_CONTAINER_NAME default: '' - name: SE_NODE_DOCKER_CONFIG_FILENAME @@ -156,6 +158,8 @@ default: 'true' - name: SE_OTEL_JVM_ARGS default: '' +- name: SE_OTEL_RESOURCE_ATTRIBUTES + default: '' - name: SE_OTEL_SERVICE_NAME default: selenium-event-bus - name: SE_OTEL_TRACES_EXPORTER @@ -256,8 +260,12 @@ default: '' - name: SE_UPLOAD_RETAIN_LOCAL_FILE default: '' +- name: SE_VIDEO_BUFSIZE + default: '' - name: SE_VIDEO_CONTAINER_NAME default: '' +- name: SE_VIDEO_CRF + default: '' - name: SE_VIDEO_FILE_NAME default: video.mp4 - name: SE_VIDEO_FILE_NAME_SUFFIX @@ -270,6 +278,8 @@ default: '' - name: SE_VIDEO_INTERNAL_UPLOAD default: 'true' +- name: SE_VIDEO_MAXRATE + default: '' - name: SE_VIDEO_POLL_INTERVAL default: '1' - name: SE_VIDEO_RECORD_STANDALONE