Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
e8e05d6
sidecar exporters + tracing toggle
romain-priour-lc Jun 14, 2025
943a9e9
progress on OTEL collector
romain-priour-lc Jun 16, 2025
a94f261
remove langsmith-observability for this pr, some more changes
romain-priour-lc Jun 16, 2025
87f90cd
cleanup
romain-priour-lc Jun 17, 2025
912f37c
readme + clean values.yaml
romain-priour-lc Jun 17, 2025
6fa13f0
cleanup
romain-priour-lc Jun 17, 2025
ccbced6
merge main
romain-priour-lc Jun 17, 2025
237f72b
tested end to end with docs
romain-priour-lc Jun 17, 2025
05df385
progress, loki almost done
romain-priour-lc Jun 18, 2025
587e262
lgtm stack all working
romain-priour-lc Jun 18, 2025
64df7a6
remove tracing endpoint override
romain-priour-lc Jun 19, 2025
21dcc74
review comments p2
romain-priour-lc Jun 19, 2025
d205dd4
lint
romain-priour-lc Jun 19, 2025
38a7cea
merge inf/558
romain-priour-lc Jun 20, 2025
9d6d3f5
metrics exporters
romain-priour-lc Jun 20, 2025
65244b2
lots of progress. S3 access working too
romain-priour-lc Jun 20, 2025
4f8a9f1
more progress, added some dashboards
romain-priour-lc Jun 21, 2025
aa117d8
tested end to end with minio and external S3
romain-priour-lc Jun 23, 2025
43ddcbe
cleanup
romain-priour-lc Jun 23, 2025
bdcf0f4
merge main
romain-priour-lc Jun 23, 2025
1f8eddc
readme
romain-priour-lc Jun 23, 2025
8937ca0
lint
romain-priour-lc Jun 24, 2025
c89455b
fix traces UI
romain-priour-lc Jun 24, 2025
0f98c48
working with basic helm chart instead of distributed
romain-priour-lc Jun 25, 2025
4091a01
remove all tgz files in chrt
romain-priour-lc Jun 25, 2025
aba2bec
review comments
romain-priour-lc Jun 25, 2025
80c8f85
cleanup
romain-priour-lc Jun 25, 2025
0d61fbc
tested end to end
romain-priour-lc Jun 25, 2025
eefffae
readme update for ls-obs
romain-priour-lc Jun 25, 2025
fc0f6b9
cleanup
romain-priour-lc Jun 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
test*.yaml
.DS_Store
.cursor/
charts/langsmith-observability/charts/*
24 changes: 24 additions & 0 deletions charts/langsmith-observability/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
dependencies:
- name: prometheus-postgres-exporter
repository: https://prometheus-community.github.io/helm-charts
version: 6.10.2
- name: prometheus-redis-exporter
repository: https://prometheus-community.github.io/helm-charts
version: 6.11.0
- name: prometheus-nginx-exporter
repository: https://prometheus-community.github.io/helm-charts
version: 1.6.0
- name: kube-state-metrics
repository: https://prometheus-community.github.io/helm-charts
version: 5.37.0
- name: grafana
repository: https://grafana.github.io/helm-charts
version: 9.2.6
- name: loki
repository: https://grafana.github.io/helm-charts
version: 6.30.1
- name: tempo
repository: https://grafana.github.io/helm-charts
version: 1.23.1
digest: sha256:37a0e475faf029162aa4025c48fdb8bfc46f8dbb8d9f6c89e12e132f4d45b3d1
generated: "2025-06-25T10:33:20.351036-07:00"
45 changes: 45 additions & 0 deletions charts/langsmith-observability/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
apiVersion: v2
name: langsmith-observability
maintainers:
- name: Romain
email: [email protected]
description: Helm chart to deploy the observability stack for LangSmith.
type: application
version: 0.1.0
appVersion: "0.1.0"
dependencies:
# Prometheus Exporters
- name: prometheus-postgres-exporter
version: 6.10.2
repository: https://prometheus-community.github.io/helm-charts
condition: postgres-exporter.enabled
alias: postgres-exporter
- name: prometheus-redis-exporter
version: 6.11.0
repository: https://prometheus-community.github.io/helm-charts
condition: redis-exporter.enabled
alias: redis-exporter
- name: prometheus-nginx-exporter
version: 1.6.0
repository: https://prometheus-community.github.io/helm-charts
condition: nginx-exporter.enabled
alias: nginx-exporter
- name: kube-state-metrics
version: 5.37.0
repository: https://prometheus-community.github.io/helm-charts
condition: kube-state-metrics.enabled
alias: kube-state-metrics
# LGTM Stack
- name: grafana
version: 9.2.6
repository: https://grafana.github.io/helm-charts
condition: grafana.enabled
- name: loki
version: 6.30.1
repository: https://grafana.github.io/helm-charts
condition: loki.enabled
- name: tempo
version: 1.23.1
repository: https://grafana.github.io/helm-charts
condition: tempo.enabled
alias: tempo
287 changes: 287 additions & 0 deletions charts/langsmith-observability/README.md

Large diffs are not rendered by default.

129 changes: 129 additions & 0 deletions charts/langsmith-observability/README.md.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
{{ template "chart.header" . }}

{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}

{{ template "chart.description" . }}

{{ template "chart.requirementsSection" . }}

## Documentation
For information on how to use this chart and how to deploy the full LangSmith Observability stack, please refer to the [documentation](https://docs.smith.langchain.com/self_hosting/observability/observability_stack).

NOTE: For any values in dependencies (Loki, Tempo, etc.), you can update the values as you see fit. Only a small set of
values are listed in the `values.yaml` and this `README`. Refer to the `values.yaml` files listed next to each dependency header for additional values.

## General parameters

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if not (or (hasPrefix "grafana" .Key) (hasPrefix "kube-state-metrics" .Key) (hasPrefix "loki" .Key) (hasPrefix "mimir" .Key) (hasPrefix "minio" .Key) (hasPrefix "nginx-exporter" .Key) (hasPrefix "otelCollector" .Key) (hasPrefix "postgres-exporter" .Key) (hasPrefix "redis-exporter" .Key) (hasPrefix "tempo" .Key)) }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Grafana

Values for Grafana: `https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "grafana" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Kube State Metrics

Values for Kube State Metrics: `https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-state-metrics/values.yaml`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "kube-state-metrics" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Loki

Values for Loki Single Binary: `https://github.com/grafana/loki/blob/main/production/helm/loki/values.yaml#L1364`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "loki" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Mimir


| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "mimir" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Nginx Exporter

Values for Nginx Exporter: `https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus-nginx-exporter/values.yaml`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "nginx-exporter" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## OTEL Collector


| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "otelCollector" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Postgres Exporter

Values for Postgres Exporter: `https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus-postgres-exporter/values.yaml`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "postgres-exporter" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Redis Exporter

Values for Redis Exporter: `https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus-redis-exporter/values.yaml`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "redis-exporter" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Tempo

Values for Tempo: `https://github.com/grafana/helm-charts/blob/main/charts/tempo/values.yaml`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "tempo" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
Loading