Skip to main content

Environment Variable Rationalization

Runtime SIMA_* variables referenced by code are classified into four buckets to reduce configuration sprawl. Each variable appears exactly once in the lists below.

Totals

  • Runtime SIMA_* variables found in src/ + include/: 148
  • Retired in this pass: 6
  • Unify (collapse into fewer debug profiles): 47
  • Framework knob (promote to typed API options): 34
  • Keep as-is (developer diagnostics / platform setup): 67

Retired in this pass

These were scaffolding, no-op, or legacy override paths and have now been removed from runtime code.

  • SIMA_BOXDECODE_WIRE_DEBUG
  • SIMA_DETESS_MULTI_BUFFER
  • SIMA_FORCE_POOL_RELEASE
  • SIMA_GUARD_TEST_HOLD_MS
  • SIMA_MLA_CONFIG_DEBUG
  • SIMA_SYNC_RUN_NUM_BUFFERS

Unify

These are largely overlapping debug toggles and should be collapsed behind a smaller set of debug profiles/levels. This is now implemented via SIMA_DEBUG_PROFILE + SIMA_DEBUG_LEVEL as a default/fallback layer.

  • SIMA_APPSINK_CAPS_DEBUG
  • SIMA_APPSINK_CB_DEBUG
  • SIMA_APPSINK_DROP_LAST_DEBUG
  • SIMA_APPSINK_LAST_SAMPLE_DEBUG
  • SIMA_APPSINK_PULL_DEBUG
  • SIMA_BUILD_MODE_DEBUG
  • SIMA_DEBUG_INPUT_POOL
  • SIMA_DISPATCHER_TRACE
  • SIMA_GRAPH_DEBUG
  • SIMA_GRAPH_DIAG_ON_STOP
  • SIMA_GRAPH_PUSH_FAIL_DEBUG
  • SIMA_GRAPH_SCHED_DEBUG
  • SIMA_GRAPH_SCHED_LOG_EVERY
  • SIMA_GRAPH_SCHED_LOG_FIRST_STREAM
  • SIMA_GRAPH_TEARDOWN_DEBUG
  • SIMA_GST_ALL_BUFFER_DEBUG
  • SIMA_GST_APPSINK_BUFFER_DEBUG
  • SIMA_GST_BOUNDARY_BUFFER_DEBUG
  • SIMA_GST_BOXDECODE_BUFFER_DEBUG
  • SIMA_GST_BUFFER_DEBUG_LIMIT
  • SIMA_GST_DETESS_INPUT_DEBUG
  • SIMA_GST_DETESS_OUTPUT_DEBUG
  • SIMA_GST_DETESS_POOL_DEBUG
  • SIMA_GST_ELEMENT_BUFFER_DEBUG
  • SIMA_GST_ELEMENT_BUFFER_DEBUG_DIR
  • SIMA_GST_PAD_LINK_DEBUG
  • SIMA_INPUTSTREAM_ALLOC_DEBUG
  • SIMA_INPUTSTREAM_DEBUG
  • SIMA_INPUTSTREAM_DOT_ON_TIMEOUT
  • SIMA_INPUTSTREAM_EOS_DEBUG
  • SIMA_INPUTSTREAM_HOLDER_DEBUG
  • SIMA_INPUTSTREAM_META_DEBUG
  • SIMA_INPUTSTREAM_POOL_DEBUG
  • SIMA_INPUTSTREAM_POOL_WAIT_LOG_MS
  • SIMA_INPUTSTREAM_PUSH_FAIL_DEBUG
  • SIMA_INPUTSTREAM_PUSH_FAIL_DETAIL
  • SIMA_INPUTSTREAM_PUSH_REF_DEBUG
  • SIMA_INPUTSTREAM_PUSH_TIMING
  • SIMA_INPUTSTREAM_USE_APPSINK_CALLBACKS
  • SIMA_INPUTSTREAM_WARN
  • SIMA_INPUTSTREAM_WEAKREF_DEBUG
  • SIMA_PIPELINE_DEBUG
  • SIMA_PIPELINE_STATE_DEBUG
  • SIMA_PIPELINE_STRING_DEBUG
  • SIMA_PIPELINE_TEARDOWN_DEBUG
  • SIMA_STAGE_DEBUG
  • SIMA_STOP_TRACE

Framework knob

These are behavioral controls that should be first-class typed options on Session/Run/Graph/Node APIs.

  • SIMA_APPSRC_DEFAULT_MAX_BUFFERS
  • SIMA_CLAMP_DETESS_NUM_BUFFERS
  • SIMA_DETESS_FORCE_CPU_OUT
  • SIMA_DISABLE_SYNC_NUMBUFFERS_CVU_MLA
  • SIMA_ENABLE_ASYNC_QUEUE2
  • SIMA_FORCE_DECODER_NUM_BUFFERS
  • SIMA_FORCE_DECODER_POOL_BUFFERS
  • SIMA_FORCE_MODEL_NUM_BUFFERS
  • SIMA_GRAPH_BUILD_TIMEOUT_MS
  • SIMA_GRAPH_OUTPUT_RATE_MS
  • SIMA_GRAPH_STOP_TIMEOUT_MS
  • SIMA_GRAPH_ZERO_COPY_BACKPRESSURE_CAP
  • SIMA_GRAPH_ZERO_COPY_MAX_INFLIGHT
  • SIMA_GST_POLL_SLICE_MS
  • SIMA_GST_RUN_INPUT_TIMEOUT_MS
  • SIMA_GST_TEARDOWN_ASYNC
  • SIMA_GST_TEARDOWN_DEFER_NO_FLUSH
  • SIMA_GST_TEARDOWN_REAPER_MS
  • SIMA_GST_TEARDOWN_TIMEOUT_MS
  • SIMA_GST_VALIDATE_TIMEOUT_MS
  • SIMA_H264ENC_BITRATE_KBPS
  • SIMA_H264ENC_LOSSLESS
  • SIMA_H264ENC_QP
  • SIMA_H264_SDP_DUMP
  • SIMA_H264_SPS_FIXUP_STREAM
  • SIMA_IMAGEFREEZE_MIN_BUFFERS
  • SIMA_INPUTSTREAM_ELASTIC_MAX_MB
  • SIMA_INPUTSTREAM_HOLDER_MAX_INFLIGHT
  • SIMA_INPUTSTREAM_POLL_MS
  • SIMA_PIPELINE_DRAIN_BEFORE_TEARDOWN_MS
  • SIMA_PIPELINE_DRAIN_MIN_OUTPUTS
  • SIMA_RTSP_ALLOW_BACKPRESSURE
  • SIMA_RTSP_STOP_TIMEOUT_MS
  • SIMA_STATE_CHANGE_TIMEOUT_MS

Keep as-is

These are still useful directly as env vars for diagnostics, plugin bootstrap, and low-level bring-up.

  • SIMA_ALLOW_GST_INIT
  • SIMA_ASYNC_TPUT_DIAG
  • SIMA_ASYNC_WARMUP
  • SIMA_DEBUG_LEVEL
  • SIMA_DEBUG_PROFILE
  • SIMA_DETESS_ASSERT_ON_ZERO
  • SIMA_DETESS_ZERO_COPY
  • SIMA_DISPATCHER_WATCHDOG
  • SIMA_DISPATCHER_WATCHDOG_PATH
  • SIMA_FIRST_FRAME_STREAMS
  • SIMA_GRAPH_GDB_ON_PUSH_FAIL
  • SIMA_GRAPH_IDENTITY_MAP_CAPACITY
  • SIMA_GRAPH_OUTPUT_COPY_DEBUG
  • SIMA_GRAPH_PIPELINE_DIAG_MS
  • SIMA_GRAPH_PIPELINE_DIAG_SUMMARY
  • SIMA_GRAPH_SERIAL_PIPELINE_BUILD
  • SIMA_GRAPH_ZERO_COPY_DEBUG
  • SIMA_GST_ALLOW_SYSTEM_ALLOCATOR
  • SIMA_GST_ALLOW_SYSTEM_PLUGINS
  • SIMA_GST_BOUNDARY_PROBES
  • SIMA_GST_BUFFER_MEMFLAGS_DEBUG
  • SIMA_GST_DATA_ADAPTER_DEBUG
  • SIMA_GST_DOT_DIR
  • SIMA_GST_ELEMENT_TIMINGS
  • SIMA_GST_ENFORCE_NAMES
  • SIMA_GST_FLOW_DEBUG
  • SIMA_GST_NEAT_ONLY
  • SIMA_GST_OPTIONS_DEBUG
  • SIMA_GST_PLUGIN_DIR
  • SIMA_GST_PLUGIN_PATH_DEBUG
  • SIMA_GST_RUN_INSERT_BOUNDARIES
  • SIMA_GST_STAGE_TIMINGS
  • SIMA_GST_SUPPRESS_DEVICE_LOGS
  • SIMA_GST_SUPPRESS_GOBJECT_ASSERTS
  • SIMA_GST_SUPPRESS_JSON_WARNINGS
  • SIMA_GST_SUPPRESS_SEGMENT_WARNINGS
  • SIMA_GST_WRAP_SCANNER
  • SIMA_GST_ZERO_COPY_WRITABLE_VIEW
  • SIMA_INPUTSTREAM_CB_STOP_TIMEOUT_MS
  • SIMA_INPUTSTREAM_DROP_HOLDER_AFTER_PUSH
  • SIMA_INPUTSTREAM_PREFLIGHT_RUN
  • SIMA_INPUTSTREAM_STOP_FLUSH
  • SIMA_INPUTSTREAM_STOP_FLUSH_TIMEOUT_MS
  • SIMA_INPUTSTREAM_STOP_TIMEOUT_MS
  • SIMA_INPUTSTREAM_STOP_UNBLOCK
  • SIMA_INPUTSTREAM_UNREF_ON_PUSH_FAIL
  • SIMA_KEEP_DETESS_CONFIG
  • SIMA_MANIFEST_DEBUG
  • SIMA_MLA_NEXT_CPU
  • SIMA_MLA_NUM_BUFFERS_DEBUG
  • SIMA_MPK_CLEANUP_EXTRACTED
  • SIMA_MPK_EXTRACT_GC_STALE_PROC
  • SIMA_MPK_EXTRACT_ROOT
  • SIMA_NEATENCODER_DUMP_CNT
  • SIMA_NEATENCODER_DUMP_PATH
  • SIMA_NEAT_CAPS_TRACE
  • SIMA_PIPELINE_ABORT_ON_HUNG_STOP_THREADS
  • SIMA_PIPELINE_OUTPUT_DROP_ON_ZERO_COPY
  • SIMA_PIPELINE_PUSH_RETURN_DEBUG
  • SIMA_PREPROC_DEBUG_CONFIG
  • SIMA_PULL_TIMEOUT_DIAG
  • SIMA_PULL_TIMEOUT_POOL_DIAG
  • SIMA_RTSP_DEBUG
  • SIMA_RTSP_STATS_DEBUG
  • SIMA_RTSP_STATS_POLL_MS
  • SIMA_SAMPLE_BYTES
  • SIMA_SAMPLE_DEBUG
  • SIMA_SAMPLE_FORCE_BUNDLE
  • SIMA_TENSOR_MAPFAIL_DEBUG