Skip to content

Commit f752d5a

Browse files
committed
fix: increase latency resolution
1 parent be46550 commit f752d5a

File tree

6 files changed

+26
-7
lines changed

6 files changed

+26
-7
lines changed

docker-compose.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ services:
3131
# - TITILER_ENDPOINT=raster
3232
- TITILER_ENDPOINT=http://0.0.0.0:8082
3333
- VEDA_STAC_ENABLE_TRANSACTIONS=True
34+
- VEDA_STAC_GIT_SHA=local123
3435
depends_on:
3536
- database
3637
- raster
@@ -84,6 +85,7 @@ services:
8485
# API Config
8586
- VEDA_RASTER_ENABLE_MOSAIC_SEARCH=TRUE
8687
- VEDA_RASTER_EXPORT_ASSUME_ROLE_CREDS_AS_ENVS=TRUE
88+
- VEDA_RASTER_GIT_SHA=local123
8789

8890

8991
depends_on:
@@ -151,6 +153,7 @@ services:
151153
- STAC_URL=http://0.0.0.0:8081
152154
- USERPOOL_ID=us-west-2_123456789
153155
- CLIENT_ID=123456789
156+
- GIT_SHA=local123
154157
ports:
155158
- "8083:8083"
156159
command: bash -c "bash /tmp/scripts/wait-for-it.sh -t 120 -h database -p 5432 && python /asset/local.py"

ingest_api/runtime/src/config.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ class Settings(BaseSettings):
2222
stac_url: AnyHttpUrl = Field(description="URL of STAC API")
2323
root_path: Optional[str] = None
2424
stage: Optional[str] = Field(None, description="API stage")
25-
git_sha: Optional[str] = None
25+
git_sha: Optional[str] = Field(
26+
"", description="Git SHA of the deployed service"
27+
) # default to str so that docker compose tests work
2628

2729

2830
settings = Settings()

ingest_api/runtime/src/monitoring.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from typing import Callable, Optional
55

66
from aws_lambda_powertools import Logger, Metrics, Tracer
7-
from aws_lambda_powertools.metrics import MetricUnit
7+
from aws_lambda_powertools.metrics import MetricResolution, MetricUnit
88
from src.config import Settings
99

1010
settings = Settings()
@@ -14,7 +14,10 @@
1414
metrics.set_default_dimensions(environment=settings.stage, service="ingest-api")
1515
tracer: Tracer = Tracer()
1616

17-
version = settings.git_sha
17+
try:
18+
version = settings.git_sha[:6] # short git sha
19+
except TypeError:
20+
version = "unknown"
1821

1922

2023
class ObservabilityMiddleware:
@@ -140,6 +143,7 @@ async def _call_downstream():
140143
name="http_request_duration_ms",
141144
value=elapsed_ms,
142145
unit=MetricUnit.Milliseconds,
146+
resolution=MetricResolution.High,
143147
)
144148
metrics.add_metric(
145149
name="http_response_size_bytes",

raster_api/infrastructure/construct.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def __init__(
5959
"VEDA_RASTER_ROOT_PATH": veda_raster_settings.raster_root_path,
6060
"VEDA_RASTER_STAGE": stage,
6161
"VEDA_RASTER_PROJECT_NAME": veda_raster_settings.project_name,
62+
"VEDA_RASTER_GIT_SHA": veda_raster_settings.git_sha,
6263
},
6364
tracing=aws_lambda.Tracing.ACTIVE,
6465
)

raster_api/runtime/src/monitoring.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from typing import Callable, Optional
55

66
from aws_lambda_powertools import Logger, Metrics, Tracer
7-
from aws_lambda_powertools.metrics import MetricUnit
7+
from aws_lambda_powertools.metrics import MetricResolution, MetricUnit
88
from src.config import ApiSettings
99

1010
settings = ApiSettings()
@@ -14,7 +14,10 @@
1414
metrics.set_default_dimensions(environment=settings.stage, service="raster-api")
1515
tracer: Tracer = Tracer()
1616

17-
version = settings.git_sha
17+
try:
18+
version = settings.git_sha[:6] # short git sha
19+
except TypeError:
20+
version = "unknown"
1821

1922

2023
class ObservabilityMiddleware:
@@ -131,6 +134,7 @@ async def _call_downstream():
131134
}
132135
logger.append_keys(fastapi=final_ctx)
133136
logger.info("Completed request")
137+
tracer.put_metadata(key="response", value=final_ctx)
134138

135139
metrics.add_dimension("route_template", route_template)
136140
metrics.add_dimension("status_family", status_family)
@@ -140,6 +144,7 @@ async def _call_downstream():
140144
name="http_request_duration_ms",
141145
value=elapsed_ms,
142146
unit=MetricUnit.Milliseconds,
147+
resolution=MetricResolution.High,
143148
)
144149
metrics.add_metric(
145150
name="http_response_size_bytes",

stac_api/runtime/src/monitoring.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from typing import Callable, Optional
55

66
from aws_lambda_powertools import Logger, Metrics, Tracer
7-
from aws_lambda_powertools.metrics import MetricUnit
7+
from aws_lambda_powertools.metrics import MetricResolution, MetricUnit
88
from src.config import ApiSettings
99

1010
settings = ApiSettings()
@@ -14,7 +14,10 @@
1414
metrics.set_default_dimensions(environment=settings.stage, service="stac-api")
1515
tracer: Tracer = Tracer()
1616

17-
version = settings.git_sha
17+
try:
18+
version = settings.git_sha[:6] # short git sha
19+
except TypeError:
20+
version = "unknown"
1821

1922

2023
class ObservabilityMiddleware:
@@ -140,6 +143,7 @@ async def _call_downstream():
140143
name="http_request_duration_ms",
141144
value=elapsed_ms,
142145
unit=MetricUnit.Milliseconds,
146+
resolution=MetricResolution.High,
143147
)
144148
metrics.add_metric(
145149
name="http_response_size_bytes",

0 commit comments

Comments
 (0)