Skip to content

Commit ec1f94c

Browse files
authored
[ENH] Add load service to local dev tiltfile (#4397)
## Description of changes Make the trace exporter to export all INFO and above traces (not just ERROR). Also, update load service tracing to use GRPC (to match our other services). ## Test plan Ran locally via `tilt up`. Verified traces appear under `chroma-load` service in jaeger. ## Documentation Changes n/a
1 parent 048583d commit ec1f94c

File tree

3 files changed

+99
-1
lines changed

3 files changed

+99
-1
lines changed

Tiltfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,21 @@ else:
140140
target='garbage_collector'
141141
)
142142

143+
if config.tilt_subcommand == "ci":
144+
custom_build(
145+
'load-service',
146+
'docker buildx build --load -t $EXPECTED_REF --target load_service -f ./rust/load/Dockerfile .',
147+
['./rust/', './idl/', './Cargo.toml', './Cargo.lock']
148+
)
149+
else:
150+
docker_build(
151+
'load-service',
152+
'.',
153+
only=["rust/", "idl/", "Cargo.toml", "Cargo.lock"],
154+
dockerfile='./rust/load/Dockerfile',
155+
target='load_service'
156+
)
157+
143158

144159
# First install the CRD
145160
k8s_yaml(
@@ -169,6 +184,7 @@ k8s_yaml([
169184
'k8s/test/grafana.yaml',
170185
'k8s/test/jaeger-service.yaml',
171186
'k8s/test/jaeger.yaml',
187+
'k8s/test/load-service.yaml',
172188
'k8s/test/minio.yaml',
173189
'k8s/test/prometheus.yaml',
174190
'k8s/test/test-memberlist-cr.yaml',
@@ -226,6 +242,7 @@ k8s_resource('sysdb', resource_deps=['sysdb-migration-latest'], labels=["chroma"
226242
k8s_resource('rust-frontend-service', resource_deps=['sysdb', 'logservice', 'rust-log-service'], labels=["chroma"], port_forwards='3000:8000')
227243
k8s_resource('query-service', resource_deps=['sysdb'], labels=["chroma"], port_forwards='50053:50051')
228244
k8s_resource('compaction-service', resource_deps=['sysdb'], labels=["chroma"])
245+
k8s_resource('load-service', resource_deps=['k8s_setup'], labels=["infrastructure"], port_forwards='3001:3001')
229246
k8s_resource('jaeger', resource_deps=['k8s_setup'], labels=["observability"])
230247
k8s_resource('grafana', resource_deps=['k8s_setup'], labels=["observability"])
231248
k8s_resource('prometheus', resource_deps=['k8s_setup'], labels=["observability"])

k8s/test/load-service.yaml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
3+
apiVersion: v1
4+
kind: Namespace
5+
metadata:
6+
name: chroma-load
7+
8+
---
9+
10+
apiVersion: apps/v1
11+
kind: Deployment
12+
metadata:
13+
name: load-service
14+
namespace: chroma-load
15+
spec:
16+
replicas: 1
17+
selector:
18+
matchLabels:
19+
app: load-service
20+
template:
21+
metadata:
22+
namespace: chroma-load
23+
labels:
24+
app: load-service
25+
spec:
26+
containers:
27+
- name: load-service
28+
image: load-service
29+
imagePullPolicy: IfNotPresent
30+
ports:
31+
- containerPort: 3001
32+
name: http
33+
env:
34+
- name: CONFIG_PATH
35+
value: /config/config.yaml
36+
- name: RUST_LOG
37+
value: "info"
38+
volumeMounts:
39+
- name: load-service-config
40+
mountPath: /config/
41+
- name: load-service-persistent-state
42+
mountPath: /state/
43+
volumes:
44+
- name: load-service-config
45+
configMap:
46+
name: load-service-config
47+
- name: load-service-persistent-state
48+
hostPath:
49+
path: /tmp/chroma/load-service
50+
type: DirectoryOrCreate
51+
52+
---
53+
54+
apiVersion: v1
55+
kind: ConfigMap
56+
metadata:
57+
name: load-service-config
58+
namespace: chroma-load
59+
data:
60+
config.yaml: |
61+
load_service:
62+
service_name: "chroma-load"
63+
otel_endpoint: "http://otel-collector.chroma:4317"
64+
port: 3001
65+
persistent_state_path: "/state/load-service.json"
66+
67+
---
68+
69+
apiVersion: v1
70+
kind: Service
71+
metadata:
72+
name: load-service
73+
namespace: chroma-load
74+
spec:
75+
ports:
76+
- name: http
77+
port: 3001
78+
targetPort: 3001
79+
selector:
80+
app: load-service
81+
type: ClusterIP

rust/load/src/opentelemetry_config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ pub(crate) fn init_otel_tracing(service_name: &String, otel_endpoint: &String) {
5757
// Layer for adding our configured tracer.
5858
// Export everything at this layer. The backend i.e. honeycomb or jaeger will filter at its end.
5959
let exporter_layer = tracing_opentelemetry::OpenTelemetryLayer::new(tracer)
60-
.with_filter(tracing_subscriber::filter::LevelFilter::ERROR);
60+
.with_filter(tracing_subscriber::filter::LevelFilter::INFO);
6161
// Layer for printing spans to stdout. Only print INFO logs by default.
6262
let stdout_layer =
6363
BunyanFormattingLayer::new(service_name.clone().to_string(), std::io::stdout)

0 commit comments

Comments
 (0)