• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

localstack / localstack / 22519085314

27 Feb 2026 11:47PM UTC coverage: 86.962% (+0.006%) from 86.956%
22519085314

push

github

web-flow
SNS: update store typing (#13866)

3 of 3 new or added lines in 1 file covered. (100.0%)

388 existing lines in 19 files now uncovered.

69828 of 80297 relevant lines covered (86.96%)

0.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.0
/localstack-core/localstack/runtime/analytics.py
1
import logging
1✔
2
import os
1✔
3

4
from localstack.runtime import hooks
1✔
5
from localstack.utils.analytics import log
1✔
6

7
LOG = logging.getLogger(__name__)
1✔
8

9
# Config options for which both usage and values are reported in analytics.
10
# Important: This list must only contain options whose values do not contain PII or sensitive data.
11
TRACKED_ENV_VAR = [
1✔
12
    "ACTIVATE_PRO",
13
    "ALLOW_NONSTANDARD_REGIONS",
14
    "BEDROCK_PREWARM",
15
    "CFN_IGNORE_UNSUPPORTED_TYPE_CREATE",
16
    "CFN_IGNORE_UNSUPPORTED_TYPE_UPDATE",
17
    "CFN_IGNORE_UNSUPPORTED_RESOURCE_TYPES",
18
    "CLOUDFRONT_LAMBDA_EDGE",
19
    "CONTAINER_RUNTIME",
20
    "DEBUG",
21
    "DEFAULT_REGION",  # Not functional; deprecated in 0.12.7, removed in 3.0.0
22
    "DEFAULT_BEDROCK_MODEL",
23
    "DISABLE_CORS_CHECK",
24
    "DISABLE_CORS_HEADERS",
25
    "DMS_SERVERLESS_DEPROVISIONING_DELAY",
26
    "DMS_SERVERLESS_STATUS_CHANGE_WAITING_TIME",
27
    "DNS_ADDRESS",
28
    "DYNAMODB_ERROR_PROBABILITY",
29
    "DYNAMODB_IN_MEMORY",
30
    "DYNAMODB_REMOVE_EXPIRED_ITEMS",
31
    "EAGER_SERVICE_LOADING",
32
    "EC2_DOCKER_INIT",
33
    "EC2_VM_MANAGER",
34
    "ECS_TASK_EXECUTOR",
35
    "EDGE_PORT",
36
    "EKS_K8S_PROVIDER",
37
    "EKS_PERSIST_CLUSTER_CONTENTS",
38
    "ENABLE_REPLICATOR",
39
    "ENFORCE_IAM",
40
    "ES_CUSTOM_BACKEND",  # deprecated in 0.14.0, removed in 3.0.0
41
    "ES_MULTI_CLUSTER",  # deprecated in 0.14.0, removed in 3.0.0
42
    "ES_ENDPOINT_STRATEGY",  # deprecated in 0.14.0, removed in 3.0.0
43
    "EVENT_RULE_ENGINE",
44
    "IAM_SOFT_MODE",
45
    "KINESIS_PROVIDER",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
46
    "KINESIS_ERROR_PROBABILITY",
47
    "KMS_PROVIDER",  # defunct since 1.4.0
48
    "LAMBDA_DEBUG_MODE",
49
    "LAMBDA_DOWNLOAD_AWS_LAYERS",
50
    "LAMBDA_EXECUTOR",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
51
    "LAMBDA_STAY_OPEN_MODE",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
52
    "LAMBDA_REMOTE_DOCKER",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
53
    "LAMBDA_CODE_EXTRACT_TIME",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
54
    "LAMBDA_CONTAINER_REGISTRY",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
55
    "LAMBDA_FALLBACK_URL",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
56
    "LAMBDA_FORWARD_URL",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
57
    "LAMBDA_XRAY_INIT",  # Not functional; deprecated in 2.0.0, removed in 3.0.0
58
    "LAMBDA_PREBUILD_IMAGES",
59
    "LAMBDA_RUNTIME_EXECUTOR",
60
    "LAMBDA_RUNTIME_ENVIRONMENT_TIMEOUT",
61
    "LEGACY_EDGE_PROXY",  # Not functional; deprecated in 1.0.0, removed in 2.0.0
62
    "LS_LOG",
63
    "LOCALSTACK_K8S_DEPLOYMENT_METHOD",
64
    "MOCK_UNIMPLEMENTED",  # Not functional; deprecated in 1.3.0, removed in 3.0.0
65
    "OPENSEARCH_ENDPOINT_STRATEGY",
66
    "PERSISTENCE",
67
    "PERSISTENCE_SINGLE_FILE",
68
    "PERSIST_ALL",  # defunct since 2.3.2
69
    "PORT_WEB_UI",
70
    "RDS_MYSQL_DOCKER",
71
    "REQUIRE_PRO",
72
    "SERVICES",
73
    "STRICT_SERVICE_LOADING",
74
    "SKIP_INFRA_DOWNLOADS",
75
    "SQS_ENDPOINT_STRATEGY",
76
    "USE_SINGLE_REGION",  # Not functional; deprecated in 0.12.7, removed in 3.0.0
77
    "USE_SSL",
78
]
79

80
# Config options for which only the usage is reported in analytics.
81
# Use this for options which may hold sensitive data or PII.
82
PRESENCE_ENV_VAR = [
1✔
83
    "DATA_DIR",
84
    "EDGE_FORWARD_URL",  # Not functional; deprecated in 1.4.0, removed in 3.0.0
85
    "EC2_HYPERVISOR_URI",
86
    "EC2_REFERENCE_DOMAIN",
87
    "EC2_LIBVIRT_NETWORK",
88
    "EC2_LIBVIRT_POOL",
89
    "GATEWAY_LISTEN",
90
    "HOSTNAME",
91
    "HOSTNAME_EXTERNAL",
92
    "HOSTNAME_FROM_LAMBDA",
93
    "HOST_TMP_FOLDER",  # Not functional; deprecated in 1.0.0, removed in 2.0.0
94
    "INIT_SCRIPTS_PATH",  # Not functional; deprecated in 1.1.0, removed in 2.0.0
95
    "KUBERNETES_SERVICE_HOST",
96
    "LAMBDA_DEBUG_MODE_CONFIG_PATH",
97
    "LEGACY_DIRECTORIES",  # Not functional; deprecated in 1.1.0, removed in 2.0.0
98
    "LEGACY_INIT_DIR",  # Not functional; deprecated in 1.1.0, removed in 2.0.0
99
    "LOCALSTACK_HOST",
100
    "LOCALSTACK_HOSTNAME",
101
    "OUTBOUND_HTTP_PROXY",
102
    "OUTBOUND_HTTPS_PROXY",
103
    "S3_DIR",
104
    "SFN_MOCK_CONFIG",
105
    "TMPDIR",
106
]
107

108

109
@hooks.on_infra_start()
1✔
110
def _publish_config_as_analytics_event():
1✔
111
    env_vars = list(TRACKED_ENV_VAR)
1✔
112

113
    for key, value in os.environ.items():
1✔
114
        if key.startswith("PROVIDER_OVERRIDE_"):
1✔
115
            env_vars.append(key)
1✔
116
        elif key.startswith("SYNCHRONOUS_") and key.endswith("_EVENTS"):
1✔
117
            # these config variables have been removed with 3.0.0
UNCOV
118
            env_vars.append(key)
×
119

120
    env_vars = {key: os.getenv(key) for key in env_vars}
1✔
121
    present_env_vars = {env_var: 1 for env_var in PRESENCE_ENV_VAR if os.getenv(env_var)}
1✔
122

123
    # filter out irrelevant None values, making the payload significantly smaller.
124
    env_vars = {k: v for k, v in env_vars.items() if v is not None}
1✔
125
    present_env_vars = {k: v for k, v in present_env_vars.items() if v is not None}
1✔
126

127
    log.event("config", env_vars=env_vars, set_vars=present_env_vars)
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc