The unified cloud binary constructs the o11y runtime in-process and serves
/v1/o11y/* through its own HTTP stack (o11y.SetHandler), instead of running a
standalone Deployment behind a reverse proxy. Two accessors complete the
embedding contract documented in mount.go:
- PublicHandler() exposes the fully-wired public router (middleware + routes)
that createPublicServer builds — the exact handler Start binds on the query
listener — so the embedder serves byte-identical /v1/o11y/* surface.
- StartBackground(ctx) runs the alert rule manager only, without binding the
query HTTP / pprof / OpAMP listeners the embedding host does not want.
Maintenance patch off v1.3.12 (the version cloud pins). No behavior change for
the standalone server.
Mechanical migration off the v1.3.7 lineage — the ONLY lineage that keeps
the 5 packages cloud/clients/o11y imports (pkg/types/integrationtypes,
pkg/querybuilder/resourcefilter, pkg/parser/grammar,
pkg/query-service/utils/times, pkg/query-service/model/metrics_explorer).
Supersedes:
- v1.3.8/v1.3.9: did the zip swap but as a large refactor that DROPPED
those 5 packages -> go build ./cmd/cloud fails.
- v1.3.10 (remote): mislabeled 'consumable v1.3.7 base' but also dropped
the 5 packages (broken).
- v1.3.11 (remote): keeps the 5 packages BUT go.mod declares 'go 1.26.3'
while requiring zap-proto/zip@v1.2.0 (needs >=1.26.4) with no toolchain
directive -> 'requires go >= 1.26.4' build FAILURE under the default
go1.26.3 toolchain.
This tag (v1.3.12) fixes both: keeps the 5 packages AND declares go 1.26.4
so it actually builds. Unblocks cloud MountAll: the composition root
constructs a zap-proto/zip *zip.App and o11y's mount.go asserts the same
type (no more 'want *zip.App' panic).
Changes (import + assertion type only, no behavior change):
- mount.go: import github.com/hanzoai/zip -> github.com/zap-proto/zip
- mount_test.go: same import swap
- go.mod/go.sum: require github.com/zap-proto/zip v1.1.0 (drops hanzoai/zip
v0.1.0); go 1.26.4 (forced minimum of zip); tidy pulled zip runtime deps
(goja/esbuild/regexp2/sourcemap) and pruned the now-unused
prometheus/client_golang tail.
go build ./... and go vet ./... clean; mount tests pass against zap-proto/zip.
Patch release off v1.3.6 (main is mid upstream-SigNoz rebrand). Replaces
github.com/prometheus/alertmanager => github.com/hanzoai/alertmanager v0.28.2;
the fork uses hanzoai/common + luxfi/metric internally, unifying alertmanager
api/v2 + types with o11y's hanzoai/common/model and killing the prometheus type
mismatch that blocked the hanzo cloud binary. Tests: prometheus.NewRegistry ->
luxfi/metric.NewRegistry; drop orphaned post-rip tests; PromQL extractor test ->
NewExtractor(ExtractorTypePromQL). Zero direct prometheus imports remain.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Both pre-commit and commit-msg invoked yarn 1.x. On machines where
corepack enforces a global packageManager (e.g. ~/package.json
declares pnpm), yarn 1.x bails before running the script so every
commit fails with an opaque "husky - hook exited with code 1".
pnpm exec lint-staged / pnpm exec commitlint resolve the same
binaries via pnpm's own node_modules layout. lint-staged and
commitlint are already installed in frontend/node_modules.
Sweep 23 files under pkg/types/alertmanagertypes + pkg/alertmanager/
alertmanagernotify/ from github.com/prometheus/common → github.com/
hanzoai/common. Combined with the hanzoai/{exporter-toolkit,sigv4}
swaps in the alertmanager workspace fork, the go-conntrack →
prometheus/client_golang chain is no longer pulled by o11y's runtime
build closure.
Remaining 2 prom paths in o11y come from github.com/prometheus/
prometheus (the actual Prometheus server library — PromQL engine +
TSDB chunks + util/stats). Independent boundary; tracked separately.
The alertmanager-library boundary files (pkg/types/alertmanagertypes/
marker.go, pkg/alertmanager/{service,alertmanagerserver/{server,telemetry}}.go)
now talk luxfi/metric directly. The prometheus/alertmanager fork at
hanzo/alertmanager provides a promshim package that bridges its own
prometheus.* call sites to luxfi/metric.
Bumps luxfi/metric to v1.5.7 — adds Vec.Reset(), Gauge.SetToCurrentTime(),
WrapRegistererWithPrefix/With, ExponentialBuckets/LinearBuckets,
prom-compat parity needed by both consumers.
Remaining 2 prom paths in o11y's closure come from prometheus/common/
config → mwitkow/go-conntrack (HTTP transport conn-tracking metrics).
Independent boundary; tracked separately.
go.mod / go.sum
---------------
Drop the 4 local `replace` directives (alertmanager, ClickHouse-go,
ClickHouse-sql-parser, ClickHouse-go-mock). The hanzo go.work
workspace at /Users/z/work/hanzo/go.work now provides those modules
through `use ./...` entries, so the per-module replace lines are
redundant. One way to do everything: workspace mode is canonical.
koanf v1.5.0 → v2.3.2
---------------------
Replace koanf v1 with the standalone v2-aligned parser / provider
modules: parsers/{json@v1.0.0,yaml@v1.1.0}, providers/{confmap@v1.0.0,
env@v1.1.0,file@v1.2.1,rawbytes@v1.0.0}. The mocks.go test helper
switches from the unversioned `koanf` v1 import to `koanf/v2`.
koanf v1 enters the graph transitively via
SigNoz/signoz-otel-collector (we only use schema_migrator). Its
package paths collide with the standalone v2 module paths, so add an
`exclude github.com/knadh/koanf v1.5.0` to keep resolution
unambiguous.
Side effect: ~30 indirect deps drop out — google/s2a-go,
googleapis/enterprise-certificate-proxy, Azure SDK chain,
cloud.google.com/go/auth, joho/godotenv, gonum, k8s.io/client-go,
etc. All were sucked in by koanf v1's enterprise OTLP wiring.
Test surface
------------
Restore pkg/prometheus/prometheustest (noop Prometheus provider —
same shape as nooprometheus) and pkg/query-service/rules/
managertestfactory.go (TestManager + queryMatcherAny). Both were
deleted with -tags signoz in 248d93258; the test files (manager_test,
threshold_rule_test, prom_rule_test, querier_test) still depend on
them in the default build. Wire managertestfactory to
datastoreReader (renamed in 248d93258 from clickhouseReader).
Revert overzealous datastore rename in three test files:
srikanthccv/Datastore-go-mock → srikanthccv/ClickHouse-go-mock. The
fork at /Users/z/work/hanzo/datastore-go-mock retains the upstream
module identity so consumers don't have to bump import paths.
Verification
------------
go build ./... clean
go test -count=1 -run none ./... clean (compiles)
go list -deps ./... | grep -c grpc 0
Reintroduces the real OPAmp config-push path behind //go:build grpc.
Default build (configure_ingestionRules_default.go): UpsertControlProcessors
returns errOpAmpUnavailable — ZAP-native ingestion is the canonical wire,
operators who need OTLP/OPAmp remote-agent control rebuild with -tags grpc.
Build matrix:
go build ./... → ZAP-only, 0 grpc in deps
go build -tags grpc ./... → adds OPAmp config push + OTLP-gRPC trace exporter
Also includes ClickHouse Go deps replace directives at /Users/z/work/hanzo/
{datastore-go, datastore-sql-parser, datastore-go-mock} — local forks of
the three external module paths so we can patch them ZAP-native without
upstream coordination.
401 files touched. Pure prefix swap on env var literals and docs.
No semantic change — Go config layer was already prefix-driven.
All env vars now O11Y_* (e.g. O11Y_SQLSTORE_*, O11Y_TELEMETRYSTORE_*,
O11Y_INSTRUMENTATION_*, O11Y_ZAP_LISTEN, etc). Matches the module
path github.com/hanzoai/o11y and keeps o11y deployable as a
brandable component (no HANZO_ leak in operator-facing config).
ZAP-native ingestion is now part of the o11y server lifecycle.
Listens on :4317 (HANZO_ZAP_LISTEN overrides), decodes zap envelopes
tagged MsgSpanBatch via pkg/zapreceiver, and is ready for SpanBatch
→ ClickHouse adapter wiring (TODO marker in OnBatch).
This is the ZAP-on-OTel ingest the project rule asks for — no
otlp-grpc, no grpc-gateway, no signoz-otel-collector receiver needed.
Spans shipped by luxfi/trace's Type=ZAP exporter land here over
plain TCP-framed luxfi/zap.
Default-tag o11y binary is now 100% grpc-free.
pkg/query-service/app/opamp/*: //go:build grpc for the three config-pulling
files (config_parser.go, configure_ingestionRules.go, plus its test).
Added configure_ingestionRules_noop.go for the default build —
UpsertControlProcessors returns errOpAmpDisabled. The grpc-gated path
keeps the full collector/confmap integration for callers building
with -tags grpc.
pkg/types/telemetrytypes/{field,json_access_plan}.go: inline
ArraySep = "[]." (was jsontypeexporter.ArraySeparator). One constant
import that dragged the entire signoz-otel-collector framework via the
exporter chain → consumer/consumererror → grpc/codes. Lifted the
value into the local package, dropped the import.
Verification:
go list -deps ./... → 0 google.golang.org/grpc importers
→ 0 grpc-gateway importers
strings cmd/server | grep grpc → 1 hit (literal in error message)
binary size → 113.4 MB
OPAmp remote-agent control is the only opt-in path. Build with
`-tags grpc` to re-enable for external OTLP integrations.
Per project rules 'kill auth module, use IAM for auth only' and 'no ee
is allowed in our o11y': all enterprise-edition + openfga + Google SDK
paths gone. Hanzo IAM is the single authorization integration point.
Deleted (10,217 lines):
- cmd/enterprise/ (signoz EE binary)
- ee/ (anomaly, authn, authz/openfga*, gateway,
licensing, modules, querier, query-service,
sqlschema, sqlstore, zeus — all signoz EE)
- pkg/authz/openfga{auth,schema,server}/ (openfga authz impls)
- pkg/authn/callbackauthn/ (Google OIDC SDK — IAM owns this)
- authn_{google,nogoogle}.go (split-build glue, redundant)
authn.go: NewAuthNs returns only email/password. External IdPs (Google,
SAML, OIDC discovery) happen at Hanzo IAM — o11y delegates via
pkg/authz/iamauthz.
Default-tag dep audit (./...):
google.golang.org/grpc / grpc-gateway → 0 importers in our code
cloud.google.com/go/auth → gone from go.mod
google.golang.org/api/option → gone from go.mod
github.com/google/s2a-go → gone from go.mod
github.com/openfga/* → gone from go.mod
Remaining grpc symbols in cmd/server come from
go.opentelemetry.io/collector/consumer/consumererror (uses grpc/codes
as a status enum), pulled via signoz-otel-collector. Eliminating it
needs either forking otel/collector/consumer or replacing
signoz-otel-collector with our own pipeline — separate workstream.
Per the project rule 'kill grpc period': decomplect every google.golang.org/grpc-pulling
transitive from the default-tag dep graph. Each surface follows the same
pattern — interface stays default + pure, prom/google impl gated behind
its feature tag, noop default keeps the wiring clean.
go.mod:
+ replace github.com/prometheus/alertmanager => /Users/z/work/hanzo/alertmanager
Local fork of v0.31.0 with tracing/ package neutered to a noop
(Manager.Run/ApplyConfig/Stop and Transport stay; OTLP-grpc imports gone).
Without this, the upstream alertmanager always pulls otlptracegrpc → grpc.
authn:
+ authn_nogoogle.go (//go:build !google) + authn_google.go (//go:build google)
registerOptionalAuthNs noop default; Google OIDC opt-in only.
googlecallbackauthn/authn.go now //go:build google — its cloud.google.com/go/auth
pulls github.com/google/s2a-go which pulls grpc.
Hanzo IAM handles Google OIDC at the IAM layer.
prometheus engine:
+ pkg/prometheus/nooprometheus/provider.go — default factory.
Empty promql.Engine + empty storage.Queryable; no PromQL queries but
every interface contract is satisfied.
pkg/prometheus/clickhouseprometheus/*.go (6 files) → //go:build signoz
The clickhouse PromQL adapter pulls prometheus/prometheus/storage/remote
which pulls storage/remote/googleiam → google api → s2a-go → grpc.
pkg/prometheus/prometheustest/*.go (2 files) → //go:build signoz
pkg/query-service/rules/managertestfactory.go → //go:build signoz
provider.go: NewPrometheusProviderFactories registers nooprometheus.
Default-tag dep audit after this commit:
go list -deps ./... | grep s2a-go → empty
go list -deps ./... | grep cloud.google.com → empty
go list -deps ./... | grep google.golang.org/api → empty
go list -deps ./... | grep otlptracegrpc → only via OTel collector
framework (next rip).
Remaining grpc transitive chain — single source:
SigNoz/signoz-otel-collector → go.opentelemetry.io/collector/service
→ go.opentelemetry.io/contrib/otelconf → otlp{trace,log,metric}grpc → grpc
Killing this means replacing the OTel collector ingestion pipeline
with pkg/zapreceiver (ZAP-native span batch receiver, already built).
15 files in o11y import signoz-otel-collector — they handle log/trace
metadata via collector types. The replacement is a separate workstream:
redefine those metadata types as plain Go structs, port the 15 files
to use them, drop the signoz-otel-collector dep entirely.
After that, default-tag o11y is 100% grpc-free.
Per the project rule "use ~/work/lux/metric, kill prometheus/client_golang":
the o11y instrumentation SDK now emits application metrics through
luxfi/metric — the canonical Lux scrape-compatible text format library.
Zero google.golang.org/protobuf in pkg/instrumentation, zero
google.golang.org/grpc, zero OTel-to-prometheus bridge.
pkg/factory/settings.go: ProviderSettings.PrometheusRegisterer → MetricsRegisterer
(typed luxmetric.Registerer). ScopedProviderSettings interface follows.
pkg/instrumentation/instrumentation.go: Instrumentation interface gains
MetricsRegisterer() luxmetric.Registerer in place of PrometheusRegisterer().
pkg/instrumentation/sdk.go: full rewrite.
- drop go.opentelemetry.io/contrib/config dep (was the proxy that
pulled prometheus/client_golang + every OTLP exporter
unconditionally — including otlptracegrpc).
- build the OTel TracerProvider directly from
go.opentelemetry.io/otel/sdk/trace (noop by default; wire
luxfi/trace with Type=ZAP for real export).
- meter provider stays noop so OTel-instrumented libraries
(otelhttp, otelgrpc) keep working.
- luxmetric.NewRegistry() is the application metrics registry.
pkg/instrumentation/config.go: MetricsConfig collapses to {Enabled, Host,
Port}. The /metrics endpoint is now served by the host process via
metric.NewHTTPHandler(registry, opts). Resource.Attributes is plain
map[string]any (no more contribsdkconfig.Attributes).
pkg/instrumentation/metric.go: DELETED. Was the otel→prom exporter
bridge — gone with the dep.
pkg/instrumentation/instrumentationtest: noopInstrumentation uses
luxmetric.NewRegistry().
pkg/alertmanager/service.go: Service owns its own prometheus.Registry
for the prometheus/alertmanager-library boundary (dispatch / silence /
notify / mem all require prometheus.Registerer from their public API).
Documented as the next rip target.
pkg/alertmanager/alertmanagerserver/telemetry.go: reverted to prometheus
types for the same boundary reason — alertmanager-library mandates them.
Default-tag dep audit:
pkg/factory → 0 prometheus/client_golang
pkg/instrumentation → 0 prometheus/client_golang, 0 contrib/config
pkg/zapreceiver → 0 prometheus/client_golang
pkg/authz/iamauthz → 0 prometheus/client_golang
Tests:
pkg/instrumentation/... ok
pkg/factory/... ok
pkg/zapreceiver/... ok
pkg/authz/iamauthz/... ok
Remaining prometheus/client_golang lives only at the prometheus/alertmanager
library boundary (pkg/alertmanager/service.go, alertmanagerserver/{server,telemetry}.go,
types/alertmanagertypes/marker.go). Those files exist solely to pass the
prom.Registerer that upstream alertmanager requires. Killing them is the
alertmanager rip workstream — separate from this commit.
Per the project rule "kill auth module, use IAM for auth only": authz
core no longer references openfga proto types, and the openfga provider
is gated behind -tags openfga. Default builds ship iamauthz, which is
the integration point for Hanzo IAM (iam.hanzo.ai / iam.osage.id).
Core changes:
- pkg/types/authtypes/tuple.go: define TupleKey as a plain Go struct
(User/Relation/Object) — was *openfgav1.TupleKey. Same wire shape,
no grpc/protobuf in the dep graph.
- pkg/types/authtypes/typeable_*.go: every Tuples() method returns
[]*authtypes.TupleKey (was []*openfgav1.TupleKey).
- pkg/types/roletypes/role.go: GetAdditionTuples / GetDeletionTuples
return []*authtypes.TupleKey.
- pkg/authz/authz.go: AuthZ interface uses authtypes.TupleKey; authz.TupleKey
is now a type alias for authtypes.TupleKey for source-compat.
- pkg/authz/schema.go DELETED — Schema interface was openfga-specific.
Moved into openfgaschema package (build-tagged) where it belongs.
New default-build authz provider:
- pkg/authz/iamauthz/provider.go: factory.ProviderFactory[authz.AuthZ]
backed by Hanzo IAM. HTTP+JSON, zero gRPC, zero protobuf. All 22
interface methods stubbed with errNotImplemented; wire each to the
corresponding IAM endpoint as the integration matures. Check paths
fail closed — no silent bypass.
openfga gated behind -tags openfga:
- pkg/authz/openfgaauthz/provider.go
- pkg/authz/openfgaschema/schema.go (now hosts the Schema interface)
- pkg/authz/openfgaserver/{server,logger,sqlstore,server_test}.go
- ee/authz/openfgaauthz/provider.go
- ee/authz/openfgaschema/schema.go
- ee/authz/openfgaserver/server.go
cmd/server/server.go + cmd/enterprise/server.go: replace openfgaauthz
factory with iamauthz factory in the default build path.
Result for pkg/authz/iamauthz dep graph:
go list -deps ./pkg/authz/iamauthz | grep -E 'openfga|grpc-gateway|^google.golang.org/grpc$'
→ (empty)
Transitive grpc/otlp from prometheus/alertmanager and
go.opentelemetry.io/otel/exporters/otlp/* remains — the o11y collector
pipeline is fundamentally OTLP/protobuf at the framework level.
Eliminating that is a separate workstream: replace alertmanager OTLP
tracing with the ZAP-native exporter from luxfi/trace + receive at
pkg/zapreceiver.
The receive side of luxfi/trace's default Type=ZAP exporter. Listens
on a TCP port (default :4317), decodes ZAP envelopes tagged
MsgSpanBatch, hands the JSON-decoded SpanBatch to a caller Handler.
rcv, err := zapreceiver.New(zapreceiver.Config{
Listen: ":4317",
OnBatch: func(ctx context.Context, b *SpanBatch) error {
return clickhouseWriter.WriteBatch(ctx, b)
},
})
No protobuf, no OTLP, no gRPC. Pure luxfi/zap envelope + JSON payload.
receiver_test.go: round-trip — hand-built SpanBatch envelope sent
over zap.Node lands in the OnBatch callback with the expected
appName, version, resource, and span content. Stats counter
increments on successful ingest.
* feat: cloud Mount() per HIP-0106
Adds pkg/o11y.Mount(*zip.App, cloud.Deps) so the unified cloud binary
serves o11y under /v1/o11y. The route layer adapts the existing
gorilla/mux handler via zip.AdaptNetHTTP and a SetHandler injector —
standalone cmd/server and the embedded cloud orchestrator share the
same registered http.Handler.
Also resolves pre-existing build breaks blocking the runtime:
- Brand cleanup: rebrand half-migrated signoz* imports to o11y* across
pkg/o11y, pkg/alertmanager/o11yalertmanager, pkg/apiserver/o11yapiserver,
pkg/global/o11yglobal, pkg/query-service/rules. Three scoped-provider
settings strings also lose the leak.
- Stub packages pkg/billing and pkg/types/billingtypes so the community
build links cleanly; enterprise replaces both.
- go.mod tidy picks up the gosaml2 / goxmldsig / gocron deps the ee tree
actually uses.
Adds schema/o11y.zap describing the typed ZAP surface (counter / timing
/ span / query).
* refactor: collapse pkg/o11y/ → root + flatten cloud import
Repo IS the package. Mount() at root. Consumers use
`github.com/hanzoai/o11y` (no /pkg/o11y/ nesting).
* feat: add /v1/o11y/* rewrite middleware for standard API path convention
Add URL rewrite middleware that intercepts /v1/o11y/* requests and
rewrites them to /api/* internally, allowing external clients to use
the /<version>/<service>/<path> convention while keeping all existing
internal route registrations unchanged.
* chore: sync latest
* ci: migrate to canonical hanzoai/.github/docker-build.yml reusable
Three categories of fixes:
1. CSS @import paths: rolldown-vite's postcss-import cannot resolve
bare 'styles/tokens/...' paths that relied on tsconfig baseUrl.
Changed to explicit relative paths (./styles/... or ../../styles/...).
2. Missing @hanzo/ui exports: ComboboxCommand/ComboboxTrigger/etc and
RadioGroupLabel do not exist in @hanzo/ui v5.6.0. Replaced Combobox
compound component with antd Select, RadioGroupLabel with Label.
3. Unresolved optional peer deps: @hanzo/ui eagerly imports next-themes,
react-hook-form, mermaid, etc at module level. Added rollupOptions.external
for unused deps; installed react-resizable-panels and react-day-picker
which are actually used.
Also fixed SolidAlertCircle -> CircleAlert (correct lucide-react export).
Replace rebrand/hanzo-o11y branch trigger with test and dev. Existing
metadata-action tags (type=ref,event=branch) produce :test and :dev
image tags automatically.
yarn.lock was out of date after package.json changes in rebrand commits.
CI builds with --frozen-lockfile were failing. Also remove deprecated
build-community.yaml and build-enterprise.yaml workflows.
All authentication must go through Hanzo IAM (hanzo.id) OIDC.
Password login returns 501 Unsupported directing users to SSO.
Auth domain config updated with roleMapping (useRoleAttribute=true,
defaultRole=ADMIN) so IAM role claims map to O11y roles.
Role names like o11y-admin contain digits which caused
MustNewSelector to panic on every ViewAccess/EditAccess/AdminAccess
route, returning 502 to the client.
The OIDC callback redirects to /?accessToken=...&refreshToken=... but
the Login component only lives at /login, so tokens were never picked
up. The Private route handler then saw isLoggedIn=false and redirected
to /login, which triggered another OIDC redirect — infinite loop.
Fix: intercept tokens from URL params at module load time (before any
React component renders) and store in localStorage. This ensures
getUserDefaults() and isLoggedIn state both read the correct values.
Update page titles, meta tags, manifest, auth headers, login page,
signup page, onboarding header, and generated API comments to use
"Hanzo O11y" branding instead of "Hanzo Observability".
Root users were blocked from OIDC SSO login with "root user can only
authenticate via password". Since we use IAM for all auth, root user
concept is irrelevant — allow SSO for all users regardless of is_root.
The licensing check in HandleCallback was returning an error when no
active enterprise license existed, completely blocking OIDC SSO login.
Changed to log a warning instead, allowing SSO authentication to
proceed without a license.
Remove the built-in email/password login form entirely. On page load,
the Login component now fetches the OIDC redirect URL from the backend
via sessions/context API and immediately redirects to hanzo.id for
authentication. Only shows UI for loading state, OIDC callback token
processing, and error display with retry.
- Replace TV icon and observe-brand-logo with hanzo-icon.svg
- Add hanzo-brand-logo.svg and hanzo-icon.svg to public/Logos/
- Copy Hanzo favicon.ico and favicon PNG
- Update all user-facing strings: HanzoO11y → Hanzo
- Update page title to "Hanzo Observability"
- Update meta tags (og:title, og:description, og:image)
- Update manifest.json with Hanzo branding
- Fix GitHub URLs to hanzoai/o11y
- Keep @signozhq/* npm packages (not yet published as @hanzo/*)
The hanzoai/otel-collector module isn't published on Go proxy yet.
Revert to github.com/SigNoz/signoz-otel-collector v0.144.2 which
is the published upstream module, to unblock CI builds.
* fix: make histogramQuantile function work for devenv setup
* fix: make histogramQuantile function work for integration tests
* test: histogram percentile integration tests
* chore: explicitly mention user_scripts_path
* chore: fail tests if download of UDF fails
* feat: zoom out func ladder added
* feat: zoom out feature with testcases
* fix: comments resolved moved to signoz btn added testcase for querydelete
* feat: updated btn compoent to use prefix icon
* feat: historical enddate preset as null to preserve custom
* fix: cursor bot callback and localstorage
* feat: common util for local storage
* feat: rename and testcase
* feat: avoid persist for non preset
* feat: update url with y-axis unit
* feat: implement useUrlYAxisUnit hook for y-axis unit management
* feat: use nuqs for handling query param updates
* chore: whitelist nuqs in jest
* chore: add nuqs to test utils
* chore: add new integration logos and update onboarding configurations and related files
* fix(logos): add viewBox attribute to huggingface svg for proper scaling
* chore: upgrade prometheus/common to latest available version
* chore: upgrade prometheus/prometheus to latest available version
* chore: easy changes first
* chore: slightly unsure changes
* fix: correct imported version of semconv in sdk.go
* test: ut fix, just matched expected and actual nothing else
* test: ut fix, just matched expected and actual nothing else
* test: ut fix, just matched expected and actual nothing else
* test: ut fix, just matched expected and actual nothing else
* test: ut fix, pass no nil prometheus registry
* chore: upgrade go version in dockerfile to 1.25
* chore: no need for our own alert store callback
* chore: 1.25 bullseye is still an rc so shifting to bookworm
* fix: parallel calls for each query in readmultiple method
* chore: remove unused var
* Sync PagerDuty frontend defaults with Alertmanager v0.31
Applied via @cursor push command
* chore: make ctx the first param
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* feat: deprecate user invite table
* fix: handle soft deleted users flow
* fix: handle edge cases for authentication and reset password flow
* feat: integration tests with fixes for new flow
* fix: array for grants
* fix: edge cases for reset token and context api
* chore: remove all code related to old invite flow
* fix: openapi specs
* fix: integration tests and minor naming change
* fix: integration tests fmtlint
* feat: improve invitation email template
* fix: role tests
* fix: context api
* fix: openapi frontend
* chore: rename countbyorgid to activecountbyorgid
* fix: a deleted user cannot recycled, creating a new one
* feat: migrate existing invites to user as pending invite status
* fix: error from GetUsersByEmailAndOrgID
* feat: add backward compatibility to existing apis using new invite flow
* chore: change ordering of apis in server
* chore: change ordering of apis in server
* fix: filter active users in role and org id check
* fix: check deleted user in reset password flow
* chore: address some review comments, add back countbyorgid method
* chore: move to bulk inserts for migrating existing invites
* fix: wrap funcs to transactions, and fix openapi specs
* fix: move reset link method to types, also move authz grants outside transation
* fix: transaction issues
* feat: helper method ErrIfDeleted for user
* fix: error code for errifdeleted in user
* fix: soft delete store method
* fix: password authn tests also add old invite flow test
* fix: callbackauthn tests
* fix: remove extra oidc tests
* fix: callback authn tests oidc
* chore: address review comments and optimise bulk invite api
* fix: use db ctx in various places
* fix: fix duplicate email invite issue and add partial invite
* fix: openapi specs
* fix: errifpending
* fix: user status persistence
* fix: edge cases
* chore: add tests for partial index too
* feat: use composite unique index on users table instead of partial one
* chore: move duplicate email check to unmarshaljson and query user again in accept invite
* fix: make 068 migratin idempotent
* chore: remove unused emails var
* chore: add a temp filter to show only active users in frontend until next frontend fix
* chore: remove one check from register flow testing until temp code is removed
* chore: remove commented code from tests
* chore: address frontend review comments
* chore: address frontend review comments
* feat: added components and styles
* feat: added password modal and other functionality
* feat: removed members and invited user tables from sso page
* feat: refactored and addressed the comments
* feat: rebase with main fix
* feat: added members page and listing and edit view
* feat: added components and styles
* feat: added password modal and other functionality
* feat: rebased with settings nav changes
* feat: code refactoring and use of semantic tokens
* feat: edit member drawer refactor
* feat: refactored and used semantic token for edit member drawer
* feat: added test cases for the members feature
* feat: code refactor
* feat: added updatedAt as the current give that in the response
* feat: refactored and addressed the comments
* feat: updated test case
* feat: code refactor and added todos
* feat: revamped the settings nav and setting dropdown
* feat: settings nav categorisation
* feat: added test cases
* feat: refactored code
* feat: updated test case
* feat: added keyboard shortcuts back into the settings nav at the bottom section
* chore: made baseconfigbuilder generic to be used across different charts
* chore: updated baseconfigbuilder test
* chore: updated timezone types
* chore: fixed tsc + test
* chore: fixed tsc + test
* chore: fixed tsc + test
* feat: added the base changes for pinnedtooltip element
* chore: fix tsc + test
* chore: fixed tooltipplugin test
* chore: restructured the code
* chore: restrucuted tooltip schema and resolved pr comments
* chore: fixed cursor comments
* chore: fixed cursor comments
* chore: fixed cursor comments
* fix: enhance input handling to prevent popover closure on input click
* fix: handling of input changes in CustomTimePicker to ensure value is applied on popover close
* chore: add test cases
* feat: added roles crud and details page
* feat: added details page content
* feat: added empty state in members tab
* feat: added permission detail side panel
* feat: made managed roles read only
* feat: added authzresources call in the app context
* feat: refactored files, made constants and utils
* feat: updated test mocks and util
* feat: added redirect to details page upon creation and other refactoring
* feat: used enum and refactoring
* feat: removed sidepanel toggle and changed the buildpayload logic
* feat: moved authz resource to roles page from app context
* feat: semantic token usage
* feat: cleanup, comment address and refactor
* feat: cleanup, comment address and refactor
* feat: temporarily hide the crud and role details page
* feat: added test cases for the role details flow and utilities
* feat: added test config in jest and refactored code
* feat: changed the page availability condition based on the tenant license type
* feat: resolved merge conflict changes in settings util
* feat: redesign the custom domain and moved it to general settings
* feat: cleanup and refactor
* feat: updated and added test cases
* feat: updated home page data source info section
* feat: cleanup and refactor
* feat: comment addressed
* feat: comment addressed
* feat: scss refactoring with semantic tokens
* feat: update icons to use from signozhq
* feat: added test config in jest and refactored code
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* feat: merge conflicts
* feat: testcases updated
* feat: checkbox jitter updated
* feat: css updated
* feat: pr comments signal source
* feat: relatedValues and all values together with unchecked filter handling
* feat: unchecked show more and tooltip for adaptive
* feat: test case
* feat: testcase
* fix: testcase
* chore: made baseconfigbuilder generic to be used across different charts
* chore: updated baseconfigbuilder test
* chore: updated timezone types
* chore: fixed tsc + test
* chore: fixed tsc + test
* chore: fixed tsc + test
* chore: updated config builder types
* chore: updated comment
* chore: made baseconfigbuilder generic to be used across different charts
* chore: updated baseconfigbuilder test
* chore: updated timezone types
* chore: fixed tsc + test
* chore: fixed tsc + test
* chore: fixed tsc + test
* feat: css hover updates in log explorer
* feat: test css commit
* Revert "feat: test css commit"
This reverts commit f0a34dd460c407f639b2ab6b5099857af0b5bef3.
* fix: fixed unit converstion support across thresholds and yaxisunit
* fix: thresholds working correctly with number panel
* fix: fixed tsc
* chore: fixed unit tests
* chore: reverted the extractnumberfromstring change
* chore: replaced select component with yaxisunitselector in threshold
* fix: fixed test
* chore: pr review fix
* chore: added test for yaxisunitselector
* feat: outside click bug fix
* feat: added popover so removed data attr
* feat: close drawer on filter apply
* feat: old bug stop propogating to parent on settings click
* feat: removed extra logic for autofocus
* feat: function idon func added
* feat: test update
* fix: minor refactor
* feat: migrate to querybuilder search v2
* feat: fix failing test
* feat: minor change
* fix: add missing filtering for ip address for scalar data
In domain listing api for external api monitoring,
we have option to filter out the IP address but
it only handles timeseries and raw type data while
domain list handler returns scalar data.
* fix: switch to new derived attributes for ip filtering
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* fix: fixed unit converstion support across thresholds and yaxisunit
* fix: fixed tsc
* fix: fixed failing tests
* chore: cleaned up old yaxisselector
* chore: minor change
* fix: limit value size and count to pointers with omitempty
* fix: openapi specs backend
* fix: openapi specs frontend
* chore: add go tests for limits validations
* fix: liniting issues
* test: remove go test and add gateway integration tests with mocked gateway for all gateway apis
* feat: add gateway in integration ci src matrix
* chore: divide tests into multiple files for keys and limits and utilities
* fix: creation ingestion key returns 201, check for actual values in tests
* fix: creation ingestion key returns 201, check for actual values in tests
* fix: create ingestion key gateway api mock status code as 201
* fix: fixed the invite member validation error with empty detail rows
* fix: updated test cases
* fix: updated test cases
* fix: removed comments
* fix: changed complete button text to Send Invites
* fix: added disabled for sent invites button
## Summary
- Remove the legacy `/api/gateway` reverse proxy from `ee/query-service/integrations/gateway/` — it has been superseded by the new provider-pattern-based `pkg/gateway/` package (serving
`/api/v2/gateway/ingestion_keys`)
- Delete dead frontend code: manual IngestionKeys API clients and hooks that targeted the old gateway routes
- Clean up `GatewayApiV1`/`GatewayApiV2` axios instances and route constants from the frontend API layer
## What's retained
- `--gateway-url` flag and `GatewayUrl` field in `APIHandlerOptions` (still used by `cloudIntegrations.go`)
- `pkg/gateway/` package (the new gateway provider)
- `frontend/src/api/generated/services/gateway/` (generated client for the new endpoints)
* fix: use derived values for url and host attributes
* fix: update test cases to use derived attributes
* fix: remove unnecessary handling of http.url and update the test cases
* fix: update SpanDetailsDrawer.test.tsx to use http_url
* fix: repace http_url with constant
* fix: remove redudant url handling in column
* fix: remove endpoint in StatusCodeBarCharts as its fetched from filters
* fix: test title to use correct attribute
* feat: upgraded custom domain apis and used new open api spec
* feat: upgraded api in DataSourceInfo
* feat: upgraded the update profile api
* feat: added test cases all the upgraded apis
* feat: updated test cases
* fix: added a fix for tooltip height when legend is too big
* fix: minor changes
* chore: refactored tooltip compute code + added test for tooltip
* chore: added test for tooltip util
* chore: pr review changes
### 📄 Summary
- Expose Zeus PutProfile, PutHost and GetHost APIs as first-class OpenAPI-spec endpoints, replacing the previous proxy-based approach
- Introduce typed request structs (PostableProfile, PostableHost) instead of raw []byte for type safety and OpenAPI documentation
- Wire Zeus handler through the standard dependency chain: handler interface, handler implementation, Handlers struct, signozapiserver provider
#### Changes
- PUT /api/v2/zeus/profiles - saves deployment profile to Zeus
- PUT /api/v2/zeus/hosts - saves deployment host to Zeus
- GET /api/v2/zeus/hosts - gets the deployment host from Zeus
- All the above new APIs need Admin access
Also:
- httpzeus provider — marshaling now happens in the provider; upstream error messages are passed through instead of being swallowed; fixes wrong upstream path (/hosts → /host); adds 409 Conflict mapping; replaces errors.Newf with errors.New
#### Issues closed by this PR
Closes https://github.com/SigNoz/platform-pod/issues/1722
* feat: added roles page and listing view
* feat: refactored to use usetimezone hook and scss refactor
* feat: added page in url params and refactors
* feat: used semantic tokens for scss change
* feat: enhancement in the authn providers with new fields and new ui
* feat: added error handling, integrated generate apis and form validation
* feat: error handling and code refactor
* feat: cleanup and refactor
* feat: cleanup and refactor
* feat: added test cases for the auth domain flow
* feat: used signozhq instead of antd and lucide icons
* feat: toggle consistency fix
* feat: added redirect uri field in google auth
* feat: addressed comments and feedback
* feat: addressed comments and feedback
* feat: removed redirecturi and added error helper for collapsed sections
* feat: refactored code and added email field
* feat: addressed comments and feedback
* feat: added delete confirmation modal for domain list
* feat: addressed comments and feedback
* fix: added fix for tooltip prox on hover in uplot
* fix: added fix for series highlighting on focus
* fix: added support for stepinterval
* chore: added tests
* chore: pr review comments
* fix: fix incosistent use of http attribute in ext. api
HTTP attributes like http.url, url.full along with server.name and net.peer.name
were used inconsitantly leading to bugs in aggregation query and they were
expensive to query as well since these attr are stored as json instead of
direct columns. Using columns like http_url optimises these queries since
it gets populated using all relevant attributes during ingestion itself.
* fix: switch to using http_host instead of external_http_url
external_http_url stores the hostname but the name
is confusing, so switching to http_host
* fix: use constants defined where possible
* fix: fix old attribute usage in tests
* chore: add tests for unique index on email and org_id in users table
* chore: choose one status code
* chore: choose one status code
* chore: move unique index test into passwordauthn folder
* chore: moved to existing suite, remove register
* chore: better name for file and vars
* chore: fix var name
* chore: fix var name
* chore: fix var name
## Summary
- Adds root user support with environment-based provisioning, protection guards, and automatic reconciliation. A root user is a special admin user that is provisioned via configuration (environment variables) rather than the UI, designed for automated/headless deployments.
## Key Features
- Environment-based provisioning: Configure root user via user.root.enabled, user.root.email, user.root.password, and user.root.org_name settings
- Automatic reconciliation: A background service runs on startup that:
- Looks up the organization by configured org_name
- If no matching org exists, creates the organization and root user via CreateFirstUser
- If the org exists, reconciles the root user (creates, promotes existing user, or updates email/password to match config)
- Retries every 10 seconds until successful
- Protection guards: Root users cannot be:
- Updated or deleted through the API
- Invited or have their password changed through the UI
- Authenticated via SSO/SAML (password-only authentication enforced)
- Self-registration disabled: When root user provisioning is enabled, the self-registration endpoint (/register) is blocked to prevent creating duplicate organizations
- Idempotent password sync: On every reconciliation, the root user's password is synced with the configured value — if it differs, it's updated; if it matches, no-op
* feat: updated onboarding question and used radio from signozhq
* feat: added and updated test cases
* feat: removed the editorg and updateorg from onboarding questionnaire
* feat: addressed comments and feedback
* test: added tests for utils + components
* fix: added fix for legend test
* chore: pr review comments
* chore: fixed plotcontext test
* fix: added tests failure handing + moved from map based approach to array
* fix: updated the way we used to consume graph visibility state
* fix: fixed label spelling
* fix: guide user on empty external api monitoring page
Fixes#3703
* fix: change language of msg to handle empty query result
* fix: hide table header for empty result
* fix: add styling for empty state message
* feat: updated the generated apis
* feat: added forgot password feature
* feat: handled single org id
* feat: correct the success message
* feat: removed comments
* feat: added test cases
* feat: added loading in submit enabled condition
* feat: updated styles
* feat: removed light mode overrides as used semantic tokens
* feat: addressed comments and feedback
* feat: changed logic according to new open api spec
* feat: addressed comments and used signozhq
* feat: added signozhq icon in modulenamemapper
* feat: used styles variables from design-token for typography
* feat: refactored code to resolve comments
* feat: upgraded the ingestion gateway apis
* feat: updated test case and refactored code
* feat: refactored the api query hooks usage and other refactoring
* feat: refactored code to resolve comments
* feat: refactored code to resolve comments
* feat(onboarding): add Docker support for apm data sources, Convex and simplify PHP flow
- Add Convex logo asset for integration branding
- Add Docker deployment options for Java frameworks (Spring Boot, Tomcat, JBoss, Quarkus)
- Update JBoss configuration to include WildFly support and associated keywords
- Restructure PHP onboarding flow to prioritize environment selection over framework
- Update Java keywords to include JDBC and remove deprecated metrics tag
* chore: remove 'angular' from related keywords in the onboarding configuration
Using FINAL in clickhouse query will trigger the aggregation
merge of data while using group by will be more efficient.
It's recommended id docs as well - https://clickhouse.com/
docs/engines/table-engines/mergetree-family/
aggregatingmergetree#select-and-insert
* fix: Service Map environment filter not working with DOT_METRICS_ENABLED
When DOT_METRICS_ENABLED is active, resource attribute keys use dot notation
(e.g. resource_deployment.environment) instead of underscore notation
(e.g. resource_deployment_environment). The whilelistedKeys array only
contained underscore-notation keys, causing getVisibleQueries and
mappingWithRoutesAndKeys to filter out valid queries on the Service Map.
- Add dot-notation variants to whilelistedKeys for environment, k8s cluster
name, and k8s namespace
- Remove unnecessary onBlur handler from environment Select component
- Add unit tests for whilelistedKeys and mappingWithRoutesAndKeys
Closes#10226
* chore: run perttify
---------
Co-authored-by: srikanthccv <srikanth.chekuri92@gmail.com>
If multiple batches are inserted with same trace_id, then
trace_summary table can have multiple rows before they are
aggregated by clickhouse. Query to get the time range from
trace_summary was assuming a single which was create
unpredictable behaviour as any random row could be returned.
* feat(authz): remove unnecessary dependency injection for role setter
* feat(authz): deprecate role module
* feat(authz): deprecate role module
* feat(authz): split between server and sql actions
* feat(authz): add bootstrap for managed role transactions
* feat(authz): update and add integration tests
* feat(authz): match names for factory and migration
* feat(authz): fix integration tests
* feat(authz): reduce calls on organisation creeation
* fix: make size and count included in json if zero
* fix: make forgot password api fields required
* fix: openapi spec
* fix: error message casing for frontend
* chore: fix openapi spec
* fix: openapi specs
* feat: allow saving previous query in qb
* feat: test cases added
* feat: test cases added
* feat: save only one prev query
* feat: minor refactor
* feat: lint fix
* feat: minor refactor
* fix: clear previous query before
* fix: save one query per dataSource
This pull request introduces several improvements and fixes to the trace query builder logic, especially around handling deprecated and corrupt field metadata, and ensures more robust SQL generation and query results. The changes also add new tests to verify these behaviours.
* feat: consume new semantic token and automatic light and dark mode theming
* feat: added the semantic token imports
* feat: removed backup hex in variables and comments addressed
* feat: updated the global tooltip style
* feat: updated styles
* feat: updated the data-theme setter to html body itself
* feat: updated design-token version
* feat: added chartlayout component to render charts and legends
* fix: added fix for legenditemsSet calculation
* chore: added pulse frontend as codeowners for uplotv2
* chore: cleaned up the legend size calculations function
* chore: removed config from deps in charlayout
* fix: added fix for height calculation
* fix: pr review changes
* chore: init pass region and ingestion key to docs
* chore: test add staging url
* fix: pass ingestion region from url
* chore: remove ingestion key from param
* fix: set search param only if url matches
* revert: docs url
* fix: region parsing
* fix: resolve comments
* chore: fixture for notification channel
* chore: return notification channel info in Create notification channel API
* fix: change scope of create channel fixture to function level
* chore: added debug message on assertion failure
* refactor: improve error handling in webhook notification channel deletion
* chore: ran py linter and fmt
* fix: silenced pylint on too broad exception
* feat: add alerts to integration CI workflow
* chore: removed clean from notification channel creation fixture + changes fixture scope of get_token
* chore: reverted fixture scopes to function
* fix: breaking alert test due to alert manager not registered for newly created org
* chore: formatted and fix lint
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
This pull request introduces several improvements and bug fixes in the telemetry logs and traces statement builders, metadata key filtering, and integration tests. The most significant changes ensure that required fields are always present in queries, deprecated fields are handled correctly, and test coverage is expanded to handle edge cases such as corrupt data. Additionally, some code cleanup and formatting improvements are made.
- Removed search functionality from integrations
- Added "View 150+ Data Sources" button that navigates to GET_STARTED_WITH_CLOUD route
- Updated subtitle text to reflect curated integrations
- Removed RequestIntegrationBtn from the page
This pull request introduces a new utility file, `collision.go`, to the `querybuilder` package, which provides robust logic for handling duplicate and ambiguous field keys in query builder queries. The new functions ensure that queries are more resilient to naming collisions and ambiguities, especially when dealing with JSON and promoted fields. Additionally, several test cases have been updated to reflect improved handling and warning messages for ambiguous keys.
* feat: handle custom time ranges in timezones correctly
* fix: improve timezone UI
* fix: prettier issues
* fix: show time in user selected timezone, overflow issue (#10096)
* fix: show time in user selected timezone, overflow issue, metadata loading
* fix: add gap to popover row
* fix: use inline conditional render for startTimeMs
* fix: remove unused variable in CustomTimePicker
* fix: remove unused variable in CustomTimePicker, TraceMetadata
* fix: update timezone mock in SpanHoverCard test case
* feat(authz): initial commit for migrating rbac to openfga
* feat(authz): make the role updates idempotant
* feat(authz): split role module into role and grant
* feat(authz): some naming changes
* feat(authz): integrate the grant module
* feat(authz): add support for migrating existing user role
* feat(authz): add support for migrating existing user role
* feat(authz): figure out the * selector
* feat(authz): merge main
* feat(authz): merge main
* feat(authz): address couple of todos
* feat(authz): address couple of todos
* feat(authz): fix tests and revert public dashboard change
* feat(authz): fix tests and revert public dashboard change
* feat(authz): add open api spec
* feat(authz): add open api spec
* feat(authz): add api key changes and missing migration
* feat(authz): split role into getter and setter
* feat(authz): add integration tests for authz register
* feat(authz): add more tests for user invite and delete
* feat(authz): update user tests
* feat(authz): rename grant to granter
* feat(authz): address review comments
* feat(authz): address review comments
* feat(authz): address review comments
* feat(authz): add the migration for existing roles
* feat(authz): go mod tidy
* feat(authz): fix integration tests
* feat(authz): handle community changes
* feat(authz): handle community changes
* feat(authz): role selectors for open claims
* feat(authz): role selectors for open claims
* feat(authz): prevent duplicate entries for changelog
* feat(authz): scafolding for rbac migration
* feat(authz): scafolding for rbac migration
* feat(authz): scafolding for rbac migration
* feat(authz): scafolding for rbac migration
* feat(authz): scafolding for rbac migration
* chore(env): add docs base url for staging and production
* chore(env): add docs base url for staging and production
* chore(env): add docs base url for staging and production
This pull request introduces significant improvements to the handling and normalization of telemetry field keys, adds comprehensive tests for these changes, and refactors JSON unmarshaling for query builder types to ensure consistent normalization and error handling
This pull request improves the handling of field key resolution in query building. The main focus is to make the field key matching logic in the VisitKey function more robust, especially when dealing with context and data type prefixes.
* feature: init open api ts code gen
* chore: update custom instance to a separate axios instance
* chore: update code owners
* chore: set up node version in CI
* fix: node version
* chore: update jsci.yaml
* chore: update goci.yaml
* chore: rename instance
* chore: resolve comments
* feat: dropdown to select query filters
* feat: updated test cases
* feat: updated for cursor fixes
* feat: updated value to have default as lastUsedQuery
* chore: updated package json and lock file
* chore: test case updated
* chore: updated auto-import
* feat: dropdown to select query filters
* feat: updated test cases
* feat: updated for cursor fixes
* feat: updated value to have default as lastUsedQuery
* chore: updated package json and lock file
* chore: test case updated
* chore: updated auto-import
* feat: updated conditions for traces page - duration and logs table actions
* feat: updated conditions for checkbox
* feat: renoved unwanted test caes
* feat: updated value to have lastUsedquery or minIndex
* feat: removed state for value , used lastUsedQuery
* feat: used displayQueryName for leftActions
* refactor: using global config's ingestion URL
* refactor: add global ingestion URL to configuration
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* feat: cmd enter in qb
* feat: cnd enter test added
* feat: update test case
* feat: update test case
* feat: minor refactor
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: enable inline edit for selected time
* feat: handle absolute and relative time formats
* feat: support epoch timeranges
* feat: match styles for datetime shorthand pill
* feat: handle time range error flows
* feat: hide last refreshed for custom time ranges
* feat: cleanup
* feat: use calendar range for custom date time picker
* fix: update tests to check for run query rather than stage & run query
* feat: pass modalStartTime & modalEndTime in cases where isModalSelection is true
* feat: pass minTime & maxTime for CustomPicker in topnav component
* fix: add safety check for selected time
* feat: show recently use custom time ranges
* fix: cancel query button light mode text color
* feat: move calendar content to a container
* feat: address review comments
Use the new `flagger` package to power the following features flags in the codebase:
- [x] `use_span_metrics`
- [x] `kafka_span_eval`
- [x] `interpolation_enabled`
This pull request introduces several improvements and additions to the integration test fixtures, focusing on better management and cleanup of TTL (Time-To-Live) and storage policy settings for ClickHouse tables used in logs, metrics, and traces tests. It also enhances the ClickHouse test container configuration and improves some test utility logic. The most important changes are grouped below:
* feat: introduce nested question-based selection for AWS data sources in onboarding
add help text and links.
* docs: add Onboarding Configuration Doc
* feat: add Golang metrics onboarding configuration and update onboarding docs validation steps
* feat: add Inkeep, Agno, grok, livekit, pipecat, temporal LLM integrations
update Python logs configuration, and remove deprecated LLM and Python SDK entries.
* feat: move internal redirect handling from selection steps to the 'Next' button in AddDataSource
* feat: only render and select category which is selected in filters section
* refactor: pre-calculate data source groups and add viewBox to grok SVG
* feat: show publish option in dashboard settings only to admins and licensed users
* feat: update error handling for public dashboard flows
* feat: use sonner toast for error in public dashboard flows
* feat: enable public dashboard only for licensed users
* feat: address review comments
* feat: address review comments
* feat: use global config api to fetch ingestion url in ingestion and mutli ingestion settings
* feat: update types for global config api
* feat: show tooltip on global config error
* feat: address review comments
* chore: rename globalConfig to getGlobalConfig
* chore: hide ingestion url section if globalConfig fetch isn't enabled
* feat: enable global config API for all users
* fix: alerts creation from dashboard and panel to happen in new tab
* fix: add tests
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat(dashboard): add public dashboard APIs to open-api spec
* feat(dashboard): split the ee and pkg modules
* feat(dashboard): commit open api spec
* feat(dashboard): fix signoz module test
* feat(dashboard): add license checks
* feat(dashboard): merge main
* feat(dashboard): add anonymous scheme
* fix: update limit input to be number type
* fix: add metrics to logs/traces exp transformation
* fix: minor comments
* fix: update span.king mapping for metrics correlation
* fix: remove console
* fix: minor change
In light mode, selected values in query builder Select components appeared
disabled due to inheriting light-colored text from dark mode styles.
This fix adds explicit text color (--text-ink-400) for .ant-select-selection-item
elements in light mode across QueryBuilder, QueryBuilderV2, and
MetricsAggregateSection styles.
Fixes#9801
Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: added fixes for reduce-to, auto open + metric based default value
* fix: fixed raise condition
* chore: removed unnessasary useeffect from spaceaggregation
* test: added fix for failing test in usequerybuilderoperations
* fix: pr review comments
* fix: pr review changes
* fix: restore click-to-copy for non-JSON body fields
* chore: add test for 'copy non-json log body' flow
* fix: remove JSON parse error state in order to fallback to non-json body rendering
* chore: restore the body field json parsing error condition
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: add support for showing truncated status_message and showing expandable popover on hover
* test: add tests for status message truncation and expandable popover functionality
* test: update expand button interaction to use fireEvent for status message modal
* fix: added fix for prefix units not rendering in value panel
* chore: updated snapshot for valuepanelwrapper
* chore: added changes to stop unit from recomputation
* chore: added support for scientific notation as well
* chore: pr comments fixes
* fix: clear search term when closing widget header search
* test: added test for widgetheader component
* fix: added fixes for pr comments
* chore: updated test to use mock antd
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: json Body Keys
* feat: telemetry types
* feat: change ExtractBodyPaths
* chore: minor comment change
* chore: func rename, file rename
* chore: change table names
* chore: reflect changes from the overhaul
* test: fixing test 1
* fix: test TestQueryToKeys
* fix: test TestPrepareLogsQuery
* chore: remove db
* chore: go mod
* chore: changes based on review
* chore: changes based on review
* fix: in LIKE operation
* chore: addressed few changes
* revert: test file
* fix: comparison fix
* test: add TestBuildListLogsJSONIndexesQuery
* fix: in test TestBuildListLogsJSONIndexesQuery
* fix: pull promoted paths in single db call
* fix: reducing db calls
* test: fix TestBuildListLogsJSONIndexesQuery
* fix: test TestConditionForJSONBodySearch
* fix: lint try 1
* chore: review changes based on cursor
* fix: use enums only
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: expand related search keywords and add React Native option to onboarding configurations
* feat: enhance onboarding data source configurations
With nested questions for migration and log collection, and add new related logos.
* chore: update React Native doc links to absolute URLs and remove 404
* feat: revert datasource changes
* feat: implement copy functionality for individual JSON tree nodes in log details
* chore: add tests for individual json tree nodes in log details
* test: enhance copy button tests for BodyTitleRenderer
* feat: add support for copying any node in json tree in log details
* test: update BodyTitleRenderer tests to verify copy functionality for JSON tree nodes
* fix: hide isRoot and isEntryPoint options from columns options
* test: add tests to ensure isRoot and isEntryPoint are hidden in column options
* refactor: improve the columns exclusion logic + update test
This pull request refines how deprecated and new trace fields are mapped and handled within the query service, ensuring more accurate field translation and data type usage. It also updates related test cases and constant definitions to reflect these changes, improving consistency and correctness when working with trace attributes like `kind` and `kind_string`.
This pull request refactors error variable naming throughout the codebase for improved clarity and consistency. The main change is replacing the generic variable name err with apiErr when handling errors of type *model.ApiError. Additionally, some related function signatures and comments were updated to match this change. No business logic or behaviour is affected; this is a code quality and maintainability improvement.
* feat: synchronise panel type state
* feat: refactor explorer queries
* feat: use explorer util queries
* feat: minor refactor
* feat: update test cases
* feat: remove code
* feat: minor refactor
* feat: minor refactor
* feat: update tests
* feat: replace callout with warning icon for trace operators
* feat: update list query logic to only support first staged query
* feat: fix export query and saved views change
* feat: test fix
* feat: add list and trace query util
* feat: integrate list and trace query
* feat: remove util
* feat: trace explorer container cleanup
* feat: remove order by from trace view
* fix: fix cancel btn in traces explorer view
* feat: remove offset in logs list query
* feat: show trace op caution only in list view
* feat: send correct export query
* feat: remove try catch
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* fix: fix typeerror in getYAxisFormattedValue function
* fix: added test cases
* fix: added format equals none handling in try-catch
* fix: test cleanup
* style: fix the UI issues in endpoint metadata pills
* style: fix the UI issues in endpoint and QB filters
* fix: fix the light mode colors for domain drawer
* fix: fix datatype and type-tag pills breaking for smaller width QB search
* style: enhance text overflow handling in QueryBuilder search options
* fix: remove visible 'View Traces' buttons on drag selection in UPlot chart options
* fix: add border-bottom to table cells when pagination is not present
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: update logEvent, rename `tenant_url` to `deployment_url`
* feat: Update telemetry attributes, add logs format options tooltip, enable login form submission with Enter
* test: update test
* feat: add queriesCount prop to QueryV2 and conditionally render delete option
* fix: make the trace operator label match the case and color of QB addons
* fix: fix the inconsistency in the styles of trace operator and other query addons
* fix: make the QB footer buttons styles consistent with other buttons
* fix: fix similar colors for different queries in timeseries view
* fix: enhance the UI of formula label to match the other add-ons
* fix: update styles for metrics operators and select components for consistency
* fix: format styles for query footer buttons for improved readability
* fix: update #888 to var(--bg-vanilla-400)
* fix: add hover bg for attributes on hover
* fix: sort service execution times in descending order for better visibility
* fix: make the % exec time colors consistent with colors in other components
* fix: fix the light mode colors for signoz radio group component hover and disabled states
* fix: add lightmode styles for attribute hover style
* fix: prevent displaying double tooltips in span attributes
* fix: remove the temporary style change
* fix: don't display span attribute if it doesn't have value
* fix: remove background color from action button in attributes styles
* fix: fix the background of border handle in light mode
* fix: update action button visibility based on open state
* fix: fix the divider color between tabs in light mode
* refactor: implement related signals buttons using button group
* revert: fix: fix the light mode colors for signoz radio group component hover and disabled states
* chore: remove link to old trace details page and remove the component and files
* fix: don't display span attribute if it has value "-"
* feat: add constant to prevent consumers breaking
* fix: update role from radio to button for metrics tab in SpanDetailsDrawer tests
* fix: update role from radio to button for logs tab in SpanDetailsDrawer tests
* fix: add null checks to service execution time calculations
* fix(authz): sqlmigration for postgres
* fix(authz): only launch transaction for pg
* fix(authz): fix the sql migration number
* fix(authz): add integration tests for public_dashboard
* fix(authz): added changes for tuples in integration tests
* fix(authz): added changes for tuples in integration tests
* fix(authz): reduce cyclomatic complexity
* chore: role change integration tests added
* fix: use protected endpoints and role elevate from viewer to admin
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* chore: hide span selector in exceptions page
* refactor: remove unnecessary order by functionality and related components from TracesView
* chore: remove unnecessary icon from QB in trace funnels step
* chore: improve result table styles in trace funnels
* chore: fix formatting
* Revert "refactor: remove unnecessary order by functionality and related components from TracesView"
This reverts commit 724e9f67af7c9035051a2dde2482cca7c321d253.
* fix: fix the issue of aggregation incorrectly falling back to count
* refactor: add support for v5 queries in endPointDetailsDataQueries of EndPointDetails
* chore: add common utility functions
* chore: add convertFiltersWithUrlHandling helper
* fix: remove the aggregateOperator fallback logic changes
* refactor: migrate external APIs -> endpoint metrics query range request to v5 (#9494)
* refactor: migrate endpoint metrics api to v5
* fix: overall improvements
* fix: add url checks
* chore: remove unnecessary tests
* chore: remove old test
* chore: aggregateAttribute to aggregations
* refactor: migrate status bar charts to v5 (#9548)
* refactor: migrate status bar charts to v5
* chore: add tests
* chore: remove unnecessary tests
* chore: aggregateAttribute to aggregations
* fix: fix the failing test
* refactor: migrate external APIs -> domain metrics query range request to v5 (#9484)
* refactor: migrate domain metrics query_range to v5
* fix: overall bugfixes
* chore: fix the failing tests
* refactor: migrate dependent services to query range v5 (#9549)
* refactor: migrate dependent services to query_range v5
* chore: remove unnecessary tests
* chore: aggregateAttribute to aggregations
* refactor: migrate rate over time and latency charts query to v5 (#9544)
* fix: fix the issue of aggregation incorrectly falling back to count
* refactor: migrate rate over time and latency charts query to v5
* chore: write tests for rate over time and latency over time charts
* chore: overall improvements to the test
* fix: add url checks
* chore: remove the unnecessary tests
* chore: aggregateAttribute to aggregations
* fix: fix the failing tests
* chore: remove unnecessary test
* refactor: migrate "all endpoints" query range request to v5 (#9557)
* feat: add support for hiding columns in GridTableComponent
* refactor: migrate all endpoints section query payload to v5
* chore: aggregateAttribute to aggregations
* test: add V5 migration tests for all endpoints tab
* fix: add http.url exists or url.full exists to ensure we don't get null data
* fix: fallback to url.full while displaying endpoint value
* fix: update renderColumnCell type to accept variable arguments
* fix: remove type casting for renderColumnCell in getAllEndpointsWidgetData
* refactor: migrate external APIs -> domain dropdown query range request to v5 (#9495)
* refactor: migrate domain dropdown request to query_range v5
* fix: add utility to add http.url or url.full to the filter expression
* chore: aggregateAttribute to aggregations
* fix: add http.url exists or url.full exists to ensure we don't get null data
* fix: fallback to url.full if http.url doesn't exist
* fix: fix the failing test
* test: add V5 migration tests for endpoint dropdown query
* fix: fix the failing ts check
* fix: fix the failing tests
* fix: fix the failing tests
* feat(authz): add stats reporting for public dashboards
* feat(authz): add stats reporting for public dashboards
* feat(authz): add stats reporting for public dashboards
* feat(authz): base setup for public shareable dashboards
* feat(authz): add support for public masking
* feat(authz): added public path for gettable public dashboard
* feat(authz): checkpoint-1 for widget query to query range conversion
* feat(authz): checkpoint-2 for widget query to query range conversion
* feat(authz): fix widget index issue
* feat(authz): better handling for dashboard json and query
* feat(authz): use the default time range if timerange is disabled
* feat(authz): use the default time range if timerange is disabled
* feat(authz): add authz changes
* feat(authz): integrate role with dashboard anonymous access
* feat(authz): integrate the new middleware
* feat(authz): integrate the new middleware
* feat(authz): add back licensing
* feat(authz): renaming selector callback
* feat(authz): self review
* feat(authz): self review
* feat(authz): change to promql
Move away from unbounded cache for `lastObservedAt` stat, which was powered by BigCache (unbounded), to Ristretto, a bounded in-memory cache (https://github.com/dgraph-io/ristretto).
This PR is first step towards moving away from unbounded caches in the system, more PRs to follow.
* refactor: PostableRule struct
- made validation part of `UnmarshalJSON`
- removed validation from `processRuleDefaults` and updated signature to remove error from return type
* refactor: updated error message for missing composite query
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat(authz): openfga sql migration
* feat(authz): formatting and naming
* feat(authz): formatting and naming
* feat(authz): extract function for store and model id
* feat(authz): reorder the provider
* fix: fix the issue of aggregation incorrectly falling back to count
* refactor: add support for v5 queries in endPointDetailsDataQueries of EndPointDetails
* chore: add common utility functions
* refactor: migrate status code table to v5
* fix: status code table formatting
* chore: add tests for status code table v5 migration
* chore: add convertFiltersWithUrlHandling helper
* chore: remove unnecessary tests
* chore: aggregateAttribute to aggregations
* fix: remove the aggregateOperator fallback logic changes
* fix: fix the failing test
* fix: add response_status_code exists to the status code table query
* feat: synchronise panel type state
* feat: refactor explorer queries
* feat: use explorer util queries
* feat: minor refactor
* feat: update test cases
* feat: remove code
* feat: minor refactor
* feat: minor refactor
* feat: update tests
* feat: update list query logic to only support first staged query
* feat: fix export query and saved views change
* feat: test fix
* feat: export link fix
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
The issue was with how Mergo Treats Zero values, Mergo only fills **zero-value** fields in the destination.
Since `false` is the zero value for `bool`, it always gets **replaced** by `true` from the source. Using pointers doesn’t help—`Merge` dereferences them and still treats `false` as zero.
* perf: optimize tooltip plugin with caching, memoization, and improved DOM operations
* perf(uplot): optimize tooltip with focused sorting and O(n²) to O(n) reduction
* perf(uplot): optimize threshold rendering with batched canvas operations
* chore: pr review changes
* chore: removed last index check for tooltip generation
* chore: shifted to rendering only one points when hovered
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: migrate top 10 errors query_range request to v5
* chore: remove unnecessary tests
* chore: improve the top error tests
* fix: send status_message EXISTS only if the toggle is on
* fix: get the count value and simplify the null check
* fix: send has_error = true
* chore: fall back to url.full if url.path doesn't exist
* refactor: address the PR review requested changes
* chore: add test to check if we're sending the correct filters
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* fix: removing duplicate creation of user if user does not exist already
* test: adding api test case
* fix: updated test cases
* fix: remove unnecessary logging and clean up connection params API
* feat: add gateway fixture and integrate with signoz for connection parameters
* feat: add cloudintegrations to the test job matrix in integrationci.yaml
* fix: remove outdated comments from make_http_mocks fixture
* fix: remove deprecated ZeusURL from build configurations
* feat: enable users to query meter specific data in alerts
* feat: enable metrics / meter selection in alerts and dashboards
* feat: enable setting alerts for ingestion limits
* feat: set where clause when setting alert for ingestion key
* feat(meter): handle the where clause changes
* feat: remove add alert for infinite values
* feat: add unit test cases for set alert flow
* feat: handle inital and onchange state for meter source
* feat: pass thresholds array from ingestion settings
* feat: derive source from value change rather than local state
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: show span percentile in span details
* feat: resource attribute selection for span percentile
* feat: wait for 2 secs for the first fetch of span percentile
* feat: add unit test cases for span percentiles
* feat: use style tokens
* feat: remove redundant test assertion
* chore: resolve conflicts
* feat: reset initial wait state on span change
* feat: update payload , endpoint as per new backend changes
* feat: address review comments
* feat: fetch span percentile without specific resource attributes - first time
* feat: add support for infra metrics in trace details v2
* fix: adjust the empty state if the data source is traces
* refactor: logLineTimestamp prop to timestamp
* chore: write tests for span infra metrics
* chore: return search from useLocation mock
* chore: address review changes to move inline options to useMemo
* refactor: simplify infrastructure metadata extraction logic in SpanRelatedSignals
* refactor: extract infrastructure metadata logic into utility function
* test(infraMetrics): club the similar tests
* fix: improve logs and infra tabs switching assertions
* feat: update Infra option icon to Metrics in SpanDetailsDrawer
* chore: change infra to metrics in span details drawer
* fix: fix the failing tests
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* chore: remove the applied filters in related signals drawer
* chore: make the span logs highlight color more prominent
* fix: add label to open trace logs in logs explorer button
* feat: improve the span logs empty state i.e. add support for no logs for trace_id
* refactor: refactor the span logs content and make it readable
* test: add tests for span logs
* chore: improve tests
* refactor: simplify condition
* chore: remove redundant test
* fix: make trace_id logs request only if drawer is open
* chore: fix failing tests + overall improvements
* Update frontend/src/container/SpanDetailsDrawer/__tests__/SpanDetailsDrawer.test.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: fix the failing test
* fix: fix the light mode styles for empty logs component
* chore: update the empty state copy
* chore: fix the failing tests by updating the assertions with correct empty state copy
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: allowing switching between views when groupby is present
* feat: allowing switching between views when groupby is present
* chore: remove console log
* feat(s3-retention): enhance S3 logs retention handling
* chore: overall improvements
* test: add tests for GeneralSettings S3 logs retention functionality
* test: improve S3 logs retention dropdown interaction and validation
* refactor: change s3 and logs response / payload keys
* chore: update the teststo adjust based on the recent payload keys changes
* chore: update the test mock value
* chore: update tests
* chore: skip the flaky test
* fix: fix the condition that would cause infinite loop and the test would fail as a result
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
This PR fulfills the requirements of #9069 by:
- Adding a golangci-lint directive (forbidigo) to disallow all fmt.Errorf usages.
- Replacing existing fmt.Errorf instances with structured errors from github.com/SigNoz/signoz/pkg/errors for consistent error classification and lint compliance.
- Verified lint and build integrity.
* feat(quick-filters): improve filter visibility and auto-open behavior
- Prioritize checked filter values to top of list
- Add visual separator and count indicator when collapsed
- Auto-open filters when they contain active query filters
* chore: remove the unnecessary parentheses
* chore: write tests
* chore: overall improvements
* chore: remove the applied filters count from quick filters
* chore: run prettier on Checkbox.styles.scss
* test(quick-filters): consolidate the tests
* chore: memoize isSomeFilterPresentForCurrentAttribute
* fix: make the trace details attributes search visible by default
* fix: make the attributes search focusable when the search button is toggled, not by default
* fix: don't display search in events tab of span details side drawer in empty state
* chore: write tests
* chore: mock signozhq/button
* chore: minor state rename
* fix: change the date format for span hover card
* fix: don't display search in events tab of span details side drawer in empty state
* fix: unify the handle span click, to set spanId on clicking span overview column as well
* Revert "fix: don't display search in events tab of span details side drawer in empty state"
This reverts commit c8f56aadd058d0d5deeda9580dd976c6c42d6d9d.
* chore: add 0.5 seconds delay before showing span popover in trace details
* chore: write tests
* chore: update tests
* fix: fix the failing test
* chore: remove the mocks for utility functions
This pull request introduces support for setting TTL (Time-To-Live) on logs tables in ClickHouse, including both backend logic and integration tests. The main changes add back method for setting TTL on logs tables, update the TTL API to handle logs, and provide robust test coverage for legacy and new TTL flows.
## 📄 Summary
- Instead of relying on JWT for session management, we are adding another token system: opaque. This gives the benefits of expiration and revocation.
- We are now ensuring that emails are regex checked throughout the backend.
- Support has been added for OIDC protocol
This pull request refactors how TTL (Time-To-Live) settings are applied for logs, metrics, and traces in the ClickHouse reader service. The main change is the removal of the dedicated setTTLLogs method and the consolidation of TTL logic to only support metrics and traces. The code now routes TTL requests based on type, and logs TTL is no longer handled.
* fix: logs popover content logic extracted out
* fix: logs popover content in live view
* fix: destory popover on close
* feat: add logs format tests
* feat: minor refactor
* feat: test case refactor
* feat: remove menu refs in logs live view
* feat: globalise Preference context and remove async logic
* feat: change preference context state structure to support both logs and traces pref
* feat: test refactor
* feat(authz): address tenant isolation for authz
* feat(authz): handle role module self registry
* feat(authz): keep role / user / resource sync in naming
* feat(authz): rename orgId to orgID
* feat(authz): add the missing / for user
* feat(authz): remove embedding for pkgopenfgaauthz service
* fix: let clickhouse handle string to number conversion
* fix: ignore casting if it's a comparison operator for number key
* fix: add integration tests
* fix: update comments
* fix: convert only if it's actually not a integrer with comparison operator
* fix: force convert to float when number
* fix: integration tests
* fix: correct the comment
* fix: update comment
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: logs popover content logic extracted out
* fix: logs popover content in live view
* fix: destory popover on close
* feat: add logs format tests
* feat: minor refactor
* feat: test case refactor
* feat: remove menu refs in logs live view
* chore(authz): bump up openfga version
* chore(authz): bump up openfga version
* chore(authz): bump up openfga version
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added cold storage in set ttl v2 method
* feat: standardised cold storage ttl to days
* feat: added coldstorage ttl in response structure of get api
* feat: standardise header to include share and feedback sections
* feat: add unit test cases
* feat: handle click outside to close open modals
* fix: handle click outside to close modals
* chore: update event name and placeholder
* fix: test cases
* feat: show success / failure message on feedback submit, fix test cases
* feat: add test cases to check if toast messages are shown on feedback submit
* feat: address review comments
* feat: update test cases
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: revamp onboarding, send list to mixpanel, join logic to convert to single string
* chore: props changes
* fix: allow user to proceed even if api fails
* chore: remove console.log
* chore: remove commented code
* chore: minor colour tweaks
* chore: resolve comments
* fix: fixed scroll reset issue when interacting with legends
* fix: added test cases to ensure codes execution and req function are attached
* fix: added test cases
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: moved apis out and added proper types
* feat: intergrated new api in 3rd party monitoring
* feat: intergrated new API structure
* chore: fix for null pointer exception
* test: added test for formatDataForTable function
* chore: added placeholder prop in querysearch
* chore: added placeholder prop in querysearch
* feat: added hook for listoverview api
* fix: added fix for cursor jump in QB
* chore: minor cleanup
* feat: updating the query when the editor is getting out for focus or running the query
* test: added test for QuerySearch
* chore: updated variable name for QB interaction
* chore: updated PR review changes
* chore: removed non required comments
* fix: fixed edit and patch rule functionality
* fix: fixed edit and patch rule functionality
* fix: fixed edit and patch rule functionality
* fix: added patch rule test and rule mock store
* fix: removed schema version field
* fix: removed schema version field
* fix: added test cases for patch, create, edit
* fix: removed schema version field
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
* chore: add global uplot mock
* chore: query builder context update to all provider
* chore: add cursor rules init
* chore: useSafeNavigate mock added
* chore: more cleanups
* chore: remove react-router-v5 mock from setup
* chore: update cursorrules
* chore: add tests readme init
* chore: minor refactor
* fix: refetch quick filters on revisit to page
* fix: return expected response from queryFn and use as state
* fix: change getByRole to getByText for performant test
* chore: add sonner mock
* chore: mock revert
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* fix: removed staleTime for dashboard API, to fetch fresh data while switching between dashboards
* fix: removed query client level staleTime and cacheTime
* fix: adding dashbaordID to the query key
* fix: removed unnecessary query key
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
* chore: add global uplot mock
* chore: query builder context update to all provider
* chore: add cursor rules init
* chore: useSafeNavigate mock added
* chore: more cleanups
* chore: remove react-router-v5 mock from setup
* chore: update cursorrules
* chore: add tests readme init
* chore: minor refactor
* fix: refetch quick filters on revisit to page
* fix: return expected response from queryFn and use as state
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* feat: update context link modal form init
* feat: add double way sync on urls and param
* feat: minor refactor
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
* chore: add global uplot mock
* chore: query builder context update to all provider
* chore: add cursor rules init
* chore: useSafeNavigate mock added
* chore: more cleanups
* chore: remove react-router-v5 mock from setup
* chore: update cursorrules
* chore: add tests readme init
* chore: minor refactor
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* fix: make the trace details sidebar scrollable
* fix: fix the long value overflowing trace details attributes
* fix: fix the layout issues in trace details v2
* Revert "fix: make the trace details sidebar scrollable"
This reverts commit 469022ed6aa89f9cc5864fdd30bdd6096bb11870.
* fix: make the trace details sidebar scrollable
* fix: make the attribute value take 100% width
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
This pull request introduces a new, customizable logs export feature in the Logs Explorer view, replacing the previous hardcoded download functionality. Users can now select export format, row limit, and which columns to include via a dedicated options menu. The implementation includes a new API integration for downloading export data, UI components for export options, and associated styling.
This pull request refactors the LogsFormatOptionsMenu component to use the Ant Design Popover for displaying format options, replacing the previous custom dropdown implementation. It also updates the related styles and removes now-unnecessary state and logic from parent components. The changes improve code maintainability, UI consistency, and simplify event handling.
* chore: automatically show query addon when the value is present even after refresh
* chore: minor cleanup
* test: added tests for queryAddon
* test: removed inputwithlabel mock
- Deprecate legacy alertmanager. Are the new alert improvements compatible with legacy? I don't think they are. More importantly, I don't think they should be. It will be a pain to manage it at both places.
- Improve msteamsv2 experience. I have taken alertmanager's upstream and merged it with our custom implementation. Note the use of `titleLink` field to propagate the url of the alert.
- Delete the private http server needed for alertmanager. It's cleanup as part of 1.
* fix: fixed severity color getting incorrectly assigned due to the response changed in v5 API
* fix: implement consistent severity variant colors across logs chart and indicator component
* chore: fix the failing tests
* chore: fix the failing check
---------
Co-authored-by: ahmadshaheer <ashaheerki@gmail.com>
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
This introduces a new Raw Data Export module to the codebase, enabling users to export raw log data via a dedicated API endpoint. The changes include the implementation of the module and handler, integration with existing infrastructure, configuration updates, and adjustments to tests and module wiring.
* feat: drilldown prop drilldowned
* feat: refactor code
* feat: update click plugin in uplot
* feat: lint fix
* feat: add search to breakout and other refactor
* feat: context menu - increase width and add overlay
* feat: add context links
* feat: context links init
* feat: context links init
* feat: context links init
* feat: update context link modal form init
* feat: add double way sync on urls and param
* feat: minor refactor
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* feat: add drilldown options in uplot
* feat: add time range to timeseries, bar charts
* feat: remove unwanted code
* feat: minor refactor
* feat: drilldown prop drilldowned
* feat: refactor code
* feat: update click plugin in uplot
* feat: lint fix
* feat: add search to breakout and other refactor
* feat: context menu - increase width and add overlay
* feat: add context links
* feat: context links init
* feat: context links init
* feat: context links init
* feat: update context link modal form init
* feat: add double way sync on urls and param
* feat: minor refactor
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: resolved comments and refactoring
* feat: added dynamic variable suggestion in where clause (#8875)
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels (#8876)
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* feat: fixed failing test cases due to recent logic change
* feat: added doc links in the dynamic variable feat
* feat: resolved comments and refactoring
* feat: resolved comments and refactoring
* feat: fixed test cases
* feat: fixed test cases
* feat: added new component to existing variables
* feat: added multiselect component and solved dropdown closing on every selection
* feat: fixed incorrect all label
* feat: allow custom value
* feat: better styles
* feat: added maxtagcount placeholder
* feat: added onclear function
* feat: updated regex and handlings
* feat: updated regex and handlings
* feat: added enableall prop control
* feat: fix the rebase conflict
* feat: fixed comments
* feat: fix test case
* feat: added test cases for customMultiselect, customSelect and variableItem integration
* feat: added test cases for behaviour around values added and selections showed
* feat: refactored test cases
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
## 📄 Summary
implement strong controls for password. Now the password requirement is :
password must be at least 12 characters long, should contain at least one uppercase letter [A-Z], one lowercase letter [a-z], one number [0-9], and one symbol
* refactor: adjust the attribute pinning changes based on trace actionables latest changes
* feat: persist pinned attributes on the BE, fallback to local storage
* chore: overall improvement
* chore: fix the failing tests
* fix: make the changes w.r.t. pinned attributes preferences in in preference.go
* feat(authz): implement the current usecases in openfga
* feat(authz): implement the current usecases in openfga
* feat(authz): extract out the schema and DI the same
* feat(authz): extract out the schema and DI the same
* feat: handle active log flow
* feat: show live logs in logs explorer view
* feat: enable live logs in logs explorer
* feat: show live time option only in logs list view
* chore: pass showLiveLogs as false in test cases
* fix: handle live logs data format to open in log details
* fix: use current query state for frequency chart in live logs view
* fix: encode filter expression, show live option only in list view
* feat(access-control): embed openfga in signoz
* feat(authz): rename access control to authz
* feat(authz): fix codeowners and go mod tidy
* feat(authz): fix lint
* feat(authz): update go version and move convertor to instrumentation
* feat(authz): some more lint issues
* feat(authz): some more lint issues
* feat(authz): some more lint issues
* feat(authz): fix more lint issues
* feat(authz): make logger converter interface
* fix: don't skip resource filter in main table for OR queries
* fix: dont skip resource table
* fix: make check case insensitive
* fix: iterate over token stream
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: added native support for 1.26
* feat: added native support for 1.26
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: resolved conflicts
* feat: resolved conflicts
* feat: resolved conflicts
* feat: resolved conflicts
* feat: resolved conflicts
* feat: replace infinity list view component with data table component
* feat: remove duplicate hook calls
* chore: add @signozhq/table to transformIgnorePatterns
* feat: update test cases for frequency chart in logs explorer
* feat: address review comments , add sonner for notifications
* feat: address review comments
* feat: enable global actions
* feat: separate actions for collapse and open sidebar
* fix: remove spaces from shortcuts
* chore: remove console log
* chore: yarn install to update yarn.lock
* feat: display http status badge in trace details v2 spans
* chore: change the fallback background for status code badge
* fix: align the status badge to the end of span details column
* chore: fix the failing tests
* feat: date picker v2
* feat: custom date time range history
* feat: light mode updates and interaction fixes
* fix: improve usability
* chore: add calendar, input and popover to transformIgnorePatterns
* chore: add date-fns to transformIgnorePatterns
* chore: add @signozhq/button to transformIgnorePatterns
* feat: update css variables
* fix: fix the issue of group by queries not switching to timeseries view in logs explorer
* fix: fix the issue of group by queries not switching to timeseries view in traces explorer
* chore: overall improvements
* feat: fixed panel coorelation not spreading the filter expression in explorer pages
* feat: fixed multiagregation not getting sent in create alert
* fix: fixed failing test cases
* Update frontend/src/api/v5/queryRange/prepareQueryRangePayloadV5.ts
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix lint error
* fix: stepInterval not updating in panel qb
* fix: added test cases for mapQueryDataFromApi and prepareQueryRangePayloadV5
* fix: added convertV5Response test cases - timeseries, pie and table
* fix: refactored handleRunQuery
* fix: code refactor
* fix: refactored the mapQueryDataFromApi function according to new sub_var api
* fix: updated test cases
* fix: removed isJSON and isColumn from everywhere
* fix: fixed code and test cases
* fix: fixed bar chart custom - step interval for qb v5 (#8806)
* fix: added querytype boolean check for v5 changes
* fix: fixed typechecks
* fix: fixed typechecks
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: added fix for query builder filters
* fix: added fix for multivalue operator without brackets
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* chore: added changes for jest to use es6
* test: fixed tests for querycontextutils + querybuilderv2 utils
* test: fixed failing tests
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* fix: use lower and convert re2 to string in fulltext
* fix: minor error change
* fix: address comments
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: added sanity logic for explorer old urls
* fix: added test for useSanitizeOrderBy
* fix: added sentry events for orderby validation
* fix: cleanup unused logic and renamed boolean state
* fix: added fix for supporting older queries
* fix: added fix for exist operator
* chore: minor fix for quick filters
* chore: added tests for convertfilterstoexpression
* chore: added fix for regex to regexp conversion
* test: added test for regex to regexp
* fix: added fix for functions conversion and tests
* fix: added fix for negated non_value_operators
* feat(meter): add pre-defined panels for meter breakdown
* feat(meter): update the routes for future scope
* feat(meter): added graphs for total calculation
* feat(meter): added graphs for total calculation
* feat(devenv): add otel-collector support for local development
- Add .devenv/docker/otel-collector/ with compose.yaml and config
- Add devenv-otel-collector and devenv-up targets to Makefile
- Update development.md with otel-collector setup instructions
- Add README.md with usage documentation for otel-collector setup
This enables developers to run the complete SigNoz stack locally,
including the OpenTelemetry Collector for receiving telemetry data
on ports 4317 (gRPC) and 4318 (HTTP).
* docs: improve collector setup wordings
* chore: fixed comment and service name
* chore: docker service name updated otel-collector -> signoz-otel-collector
* feat: meter explorer
* feat: meter explorer
* fix: remove meter as data source
* fix: change meter-explorer to meter - quick filter
* chore: delete test file
* fix: failing test cases
* feat(telemetry/meter): added base setup for telemetry meter signal
* feat(telemetry/meter): added metadata setup for meter
* feat(telemetry/meter): fix stmnt builder tests
* feat(telemetry/meter): test query range API fixes
* feat(telemetry/meter): improve error messages
* feat(telemetrymeter): step interval improvements
* feat(telemetrymeter): metadata changes and aggregate attribute changes
* feat(telemetrymeter): metadata changes and aggregate attribute changes
* feat(telemetrymeter): deprecate the signal and use aggregation instead
* feat(telemetrymeter): deprecate the signal and use aggregation instead
* feat(telemetrymeter): deprecate the signal and use aggregation instead
* feat(telemetrymeter): cleanup the types
* feat(telemetrymeter): introduce source for query
* feat(telemetrymeter): better naming for source in metadata
* feat(telemetrymeter): added quick filters for meter explorer
* feat(telemetrymeter): incorporate the new changes to stmnt builder
* feat(telemetrymeter): add the statement builder for the ranged cache queries
* feat(telemetrymeter): use meter aggregate keys
* feat(telemetrymeter): use meter aggregate keys
* feat(telemetrymeter): remove meter from complete bools
* feat(telemetrymeter): remove meter from complete bools
* feat(telemetrymeter): update the quick filters to use meter
## 📄 Summary
To reliably migrate the alerts and dashboards, we need access to the telemetrystore to fetch some metadata and while doing migration, I need to log some stuff to fix stuff later.
Key changes:
- Modified the migration to include telemetrystore and a logging provider (open to using a standard logger instead)
- To avoid the previous issues with imported dashboards failing during migration, I've ensured that imported JSON files are automatically transformed when migration is active
- Implemented detailed logic to handle dashboard migration cleanly and prevent unnecessary errors
- Separated the core migration logic from SQL migration code, as users from the dot metrics migration requested shareable code snippets for local migrations. This modular approach allows others to easily reuse the migration functionality.
Known: I didn't register the migration yet in this PR, and will not merge this yet, so please review with that in mid.
* fix: removed unused code for querycontext (#8674)
* Update frontend/src/utils/queryValidationUtils.ts
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: added tooltips in metric aggregations
* feat: enabled legend enhancement for explorer pages and alert page
* feat: updated the error state in explorer pages with new APIError
* fix: cloned panel query shows previous query (#8681)
* fix: cloned panel query shows previous query
* chore: removed comments
* chore: added null check
* fix: added fix for auto run query in dashboard panel + trace view issue
---------
Co-authored-by: Abhi Kumar <abhikumar@Mac.lan>
* feat: added new SubstituteVars api and enable v5 for creating new alerts (#8683)
* feat: added new SubstituteVars api and enable v5 for creating new alerts
* feat: add warning notification for query response
* feat: fixed failing test case
* fix: metric histogram UI config state in edit mode
* fix: fixed table columns getting duplicate data (#8685)
* fix: added fix for conversion of QB function to filter expression. (#8684)
* fix: added fix for QB filters for functions
* chore: minor fix
---------
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
* feat: query builder fixes and enhancement (#8692)
* feat: legend format fixes around single and multiple aggregation
* feat: fixed table unit and metric units
* feat: add fallbacks to columnWidth and columnUnits for old-dashboards
* feat: fixed metric edit issue and having filter suggestion duplications
* feat: fix and cleanup functions across product for v5
* chore: add tooltips with links to documentation (#8676)
* fix: added fix for query validation and empty query error (#8694)
* fix: added fix for selected columns being empty in logs explorer (#8709)
* feat: added columnUnit changes for old dashboard migrations (#8706)
* fix: fixed keyfetching logic (#8712)
* chore: lint fix
* fix: fixed logs explorer test
* feat: fix type checks
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
Co-authored-by: Abhi Kumar <abhikumar@Mac.lan>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
For the requestType: Trace, we don't care about the timestamp in the rawRow.
- Handling Zero timestamp values in the rawData response
- simplify RawRow `map[string]*any` to `map[string]any` and eliminate unnecessary pointer indirection.
The change adds missing flags required during execution of `make go-run-community`. Currently, running the command cause the error "unknown flag: --config", mentioned in the issue #8623
* feat: enable creating more than 3 steps in trace funnels
- Remove 3-step limitation from FunnelContext.tsx addNewStep function
- Remove UI restriction in StepsContent.tsx to always show "Add Funnel Step" button
- Allow unlimited funnel steps while maintaining proper step_order indexing
- Step indexing continues to work correctly for API calls (1-based indexing)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: enable latency pointer configuration with smart defaults (#8629)
- Enable latency pointer dropdown UI in funnel step configuration
- Set step 1 default to 'Start of span' and all other steps to 'End of span'
- Add permission-based controls for latency pointer selection
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
* fix: prevent creation of funnels with duplicate names
- Fixed Update method to validate duplicate names before updating
- Added proper duplicate name validation that excludes the current funnel being updated
- Fixed incorrect error wrapping in Update method that was marking all errors as "already exists"
- Fixed typo in error message ("funnelr" -> "funnel")
- Added comprehensive tests for duplicate name validation in both Create and Update operations
- Used internal errors package for consistent error handling
The funnel API now properly prevents creating or updating funnels with duplicate names
within the same organization, resolving issues where duplicate funnels could be created
but would fail during retrieval.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: returning error instance
* fix: implement database transactions for funnel creation and updates
- Wrap check-and-create operations in Bun transactions to prevent race conditions
- Apply transaction pattern to both Create() and Update() methods
- Ensures atomic operations when checking for duplicate funnel names
- Prevents concurrent requests from creating duplicate funnels
- Follows existing transaction patterns from user store implementation
Addresses PR feedback for race condition prevention
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Shaheer Kochai <ashaheerki@gmail.com>
* feat: refactor tracefunnel to support dynamic multi-step funnels
Replace hardcoded 2-step and 3-step funnel functions with dynamic
implementations that support unlimited steps. Add comprehensive tests
for multi-step funnel functionality while maintaining backward
compatibility.
Key changes:
- Add dynamic query builders for n-step funnels
- Update all query functions to use new builders
- Remove old hardcoded functions
- Add tests for 1-6 step funnels
- Maintain temporal ordering logic
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add duration calculation for latency_pointer='end' in funnel qu… (#8632)
* feat: add duration calculation for latency_pointer='end' in funnel queries
- Updated BuildFunnelOverviewQuery and BuildFunnelStepOverviewQuery to calculate end time
when latency_pointer is 'end'
- Modified BuildFunnelTopSlowTracesQuery and BuildFunnelTopSlowErrorTracesQuery to support
latency pointer parameters
- Added comprehensive tests for latency pointer functionality in
clickhouse_queries_latency_test.go
- When latency_pointer is 'end', the query now adds span duration to timestamp for
accurate latency calculations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* do matching after lowercase conversion
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: apply remaining changes from PR #8615 for ClickHouse 25.5 compatibility
- Updated BuildTracesFilter to BuildTracesFilterQuery with false parameter in query.go
- Updated test files to expect resource_string_service$$name instead of serviceName
- Fixed function reference in query_test.go
These changes complete the ClickHouse 25.5 compatibility updates while maintaining
the dynamic multi-step funnel functionality.
* fix: replace durationNano with duration_nano for ClickHouse compatibility
- Updated all SQL queries in clickhouse_queries.go to use duration_nano column name
- Updated test expectations in clickhouse_queries_latency_test.go
- Ensures consistency with ClickHouse snake_case column naming convention
* refactor: code formatting and add TODO comment
- Remove trailing whitespace in query.go
- Add TODO comment for GetErroredTraces function regarding product improvement
- Add newline at end of file for proper formatting
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: enhance logs explorer chart to display full selected time window
* fix: don't show tooltip in logs chart on empty hover areas + lint fix
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
## 📄 Summary
- Fix the order by for the time series result
- Add the statement builder for trace query (was supposed to be replaced with new development but that never happened, so we continue the old table)
- Removed `pkg/types/telemetrytypes/virtualfield.go`, not used currently anywhere but causing circular import. Will re-introduce later.
* fix: add safeguard for large log body entries
* feat: added test cases for getSanitizedLogBody
* feat: minor refactor
* feat: revert try catch
* feat: minor refactor
* feat: minor refactor
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added array metrics search
* chore(dot-metrics): removed regex query and added a simpler metrics in query
* chore(dot-metrics): removed regex query and added a simpler metrics in query
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix(prom-dup-labels): added fingerprint in prom labels
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): added test cases
* Update pkg/prometheus/clickhouseprometheus/client_query_test.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(prom-dup-labels): added test cases
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: add support for entrypoint spans toggle in top operations table
* fix: write tests for entry point toggle
* chore: entry point -> entrypoint
* fix: add info icon and tooltip for entrypoint spans toggle
* fix: fix the copy and link for entrypoint toggle in top operations
* chore: update the tooltip text
* Update frontend/src/container/MetricsApplication/TopOperationsTable.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: fix the failing build
* chore: update the entry point spans docs link
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(dedup-prom): added check for duplicated samples data
* fix(dedup-prom): added test cases for duplicated samples data
* fix(dedup-prom): added test cases for duplicated samples data
* chore: removed redundant scorllbar when space available
* chore: sidenav version pill can be clicked when changelog is available
* fix: removed upgrade cta for cloud users
* chore: minor ui fix
* fix: show new error component when saving pipeline fails
* fix: minor refactor
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* feat: add support for JSON flattening in pipeline processor create and edit
* chore: add fallback value for mapping state
* feat: improve the UI of json flattening form and show path_prefix if enable_path is true
* fix: improve the state management
* chore: get enablePaths state using useWatch
* chore: json flattening tests
* chore: improve the test descriptions
* fix: update snapshot and adjust the existing failing test
* chore: overall improvements
* fix: update the JSON flattening keys map
* fix: destroy the new processor modal on closing to fix the unintended persistent mapping state
* chore: log event on saving pipeline if json_parser processors get modified
* chore: fix the alignment of json flattening switch
* chore: overall improvement
* refactor: improve the mapping comparison by using lodash's isEqual
* chore: update the snapshot
* refactor: improve the pipeline json_parser processor filtering logic
---------
Co-authored-by: Aditya Singh <adityasinghssj1@gmail.com>
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: added changes for fething current version changelog
* chore: added changes for showing changelog in sidebar
* test: update ChangelogModal tests to use ChangelogSchema and mock data
* chore: update changelog properties in app context mock
* chore: removed changes for current version
* chore: changed fetch key for fetching changelog by version
* chore: added changes related to fetching tanent specific changelog
* chore: fixed failing test for changelogRenderer
* chore: remove what's new no feature available
* chore: added changes for fetching changelog for specific tenant types
* test: fixed test for changelogRenderer
* Feat: changes for showing changelog to cloud users (#8512)
* feat: added backend changes for storing seen changelog verion
* feat: added changes for showing changelog to cloud users
* chore: added useeffect cleanup
* test: fixed test for changelogModal
* chore: minor changes in changelogmodal
* chore: minor PR review fixes
* fix: log details filters use data types from log data response as primary data type
* chore: added test cases
* test: add comprehensive unit tests for chooseAutocompleteFromCustomValue function
* fix: added datatypes to util and test cases
* fix: added new tests
* fix: performance optimizations in log details view json field rendering
* fix: fixed import failing tests
* fix: added default html rendering field in body field in log details
* fix: fixed eslint errors
* chore: moved hook to a new file and renamed a state
* fix: added logs datasource for formatting and column options in the useoptionsmenu consumption
* fix: changed data source to logs in context log renderer from metrics
* feat: display custom empty message if no logs on navigating from trace to logs
* chore: write tests for logs explorer normal and custom empty state
* feat: build the custom empty logs UI based on the updated designs
* feat: clear the filters and run stage query on clicking clear filters in logs custom empty state
* fix: update the failing test to match the logs custom empty state
* chore: remove the unnecessary onClick for documentation links
* refactor: overall improvements
* refactor: move the empty logs list config to util
* chore: update the documentation links + remove the explicit height from resources card
* refactor: reuse the EmptyLogsListConfig type in EmptyLogsSearch
* test: update LogsExplorerList tests to reflect changes in documentation links
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* fix: override the stagedQuery orderBy and send order by timestamp in traces view of traces explorer
* chore: write test for sending order by timestamp in the traces view of traces explorer
* refactor: refactor the query transformer to accept partial query object and override fields
* fix: fetch only required traces fields
* fix: remove only logs case in field name
* fix: add extra if condition for logs json field names
* fix: tests
* feat: add support for expandable popover for stack message and body in trace details page
* refactor: overall improvements + refactor ExpandableAttribute
* chore: update request dashboard and integrations text
* chore: hide tab/table when data is not available
* chore: add new template text
* fix: test case
* fix: recalculate start and end time only for relative time ranges
* fix: don't dsipatch UpdateTimeInterval on initial load
* fix: change list query to state instead of memo
* fix: fix the failing test
* chore: improvement to the test
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* fix: log details filters use data types from log data response as primary data type
* chore: added test cases
* test: add comprehensive unit tests for chooseAutocompleteFromCustomValue function
* fix: added datatypes to util and test cases
* fix: added new tests
Deprecate all flags
- Use querier.config.fluxInterval in lieu of passing `--flux-interval` and `--flux-interval-for-trace-detail`
- Remove `--gateway-url`
- Use telemetrystore.clickhouse.cluster in lieu of passing `--cluster` or `--cluster-name`
- Add an `unparam` check in the linter. Updated some functions across the querier codebase to be compatible with this linter.
- Remove prometheus config from docker builds.
* fix: update app layout height based on banners visible
* fix: show banners only in logged in state
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat(changelog): add getChangelogByVersion API and related types
* feat(changelog): implement ChangelogModal and ChangelogRenderer components with styles
* test(dateUtils): add unit tests for formatDate utility
* chore(changelog): fixed pr review changes
* style(ChangelogRenderer): format SCSS for improved readability
* feat(SideNav): integrate ChangelogModal and manage its visibility state
* feat(changelog): refactor changelog handling and integrate into app state
* test(ChangelogModal): add unit tests for scroll functionality and data rendering
* test(ChangelogRenderer): add unit tests for rendering changelog details
* test(ChangelogModal, ChangelogRenderer): refactor tests
* fix(applayout): bot fetching changelog for cloud users
* fix(ChangelogModal): update footer to display feature count dynamically
* fix(ChangelogModal): update link for workspace migration to point to releases page
* feat(ChangelogModal): enhance footer layout and update link behavior
* test(ChangelogModal): update link for workspace migration to point to releases page
* refactor(AppContext): migrate changelog state management to context and update related components
* feat(test-utils): add changelog state and updateChangelog mock to app context
* test(changelogModal): fixed test by adding mock for useAppContext
* fix: added PR review fixes
* Fixed css variable name in ChangelogModal.styles.scss
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(style): added light mode support for changelog modal
* Fixed heading color token
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: remove debug log for isLatestVersion in AppLayout
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(sidebar): added fix routes not highlighting, minor gitter fix
* chore(routes): tsc fix
* fix(private): added check in private route for routes with no role
* fix(private): minor fix in condition
* chore: added roles in empty routes
* feat: while the funnel steps are invalid, handle auto save in local storage
* chore: handle lightmode style in 'add span to funnel' modal
* fix: don't save incomplete steps state in local storage if last saved configuration has valid steps
* chore: close the 'Add span to funnel' modal on clicking save or discard
* chore: deprecate the run funnel flow for unexecuted funnel
* feat: change the funnel configuration save logic, and deprecate auto save
* refactor: send all steps in the payload of analytics/overview
* refactor: send all steps in the payload of analytics/steps (graph API)
* chore: send all steps in the payload of analytics/steps/overview API
* chore: send funnel steps with slow and error traces + deprecate the refetch on latency type change
* chore: overall improvements
* chore: change the save funnel icon + increase the width of funnel steps
* fix: make the changes w.r.t. the updated funnel steps validation API + bugfixes
* fix: remove funnelId from funnel results APIs
* fix: handle edge case i.e. refetch funnel results on deleting a funnel step
* chore: remove funnel steps configuration cache on removing funnel
* chore: don't refetch the results on changing the latency type
* fix: fix the edge cases of save funnel button being enabled even after saving the funnel steps
* chore: remove the span count column from top traces tables
* fix: fix the failing CI check by removing unnecessary props / fixing the types
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5\n
* feat: added support for trace_operators in query range v5\n
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: sidebar revamp - initial commit
* feat: move billinga and other isolated routes to settings
* feat: handle channel related routes
* feat: update account settings page
* feat: show dropdown for secondary items
* feat: handle reordering of pinned nav items
* feat: improve font load performance
* feat: update font reference
* feat: update page content styles
* feat: handle external links in sidebar
* feat: handle secondary nav item clicks
* feat: handle pinned nav items reordering
* feat: handle sidenav pinned state using preference, handle light mode
* feat: show sidenav items conditionally
* feat: show version diff indicator only to self hosted users
* feat: show billing to admins only and integrations to cloud and enterprise users
* feat: update fallback link
* feat: handle settings menu items
* fix: settings page reload on nav chnage
* feat: intercom to pylon
* feat: show invite user to admin only
* feat: handle review comments
* chore: remove react query dev tools
* feat: minor ui updates
* feat: update changes based on preference store changes
* feat: handle sidenav shortcut state
* feat: handle scroll for more
* feat: maintain shortcuts order
* feat: manage license ui updates
* feat: manage settings options based on license and roles
* feat: update types
* chore: add logEvents
* feat: update types
* chore: fix type errors
* chore: remove unused variable
* feat: update my settings page test cases
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: add span scope filter to trace details page
* chore: add tests for the span scope selector flows when onchange and query are provided
* refactor: remove the unnecessary queryName prop and infer it from query
* fix: fix the failing span scope selector tests
* fix: handle potential undefined values in groupBy calculation in TracesExplorer
* fix: add optional chaining for aggregateAttribute key check in Query component
* fix: add optional chaining for filters in SpanScopeSelector to handle potential undefined values
* fix: fix the warning in logs chart by adding the missing date-time format option
* fix: improve trace graph allDataPoints null check
* chore: remove the keys.length from null check
* chore: update types
1. add partial bool to indicate if the value covers the partial interval
2. add optional unit if present (ex: duration_nano, metrics with units)
3. use pointers wherever necessary
4. add format options for request and remove redundant name in query envelope
* chore: fix some gaps
1. make the range as [start, end)
2. provide the logs statement builder with the body column
3. skip the body filter on resource filter statement builder
4. remove unnecessary agg expr rewriter in metrics
5. add ability to skip full text in where clause visitor
* chore: add API endpoint for new query range
* chore: add bucket cache implementation
* chore: add fingerprinting impl and add bucket cache to querier
* chore: add provider factory
* fix: refetch funnel steps overview on clicking refresh
* chore: temporarily hide latency pointer from funnel steps
* chore: remove the existing filters of a step on clicking replace button
* fix(useLocalStorage): stabilize initialValue handling to prevent unnecessary re-renders
* chore: remove p99_latency references from funnel metrics
* fix(useFunnelMetrics): ensure latency type defaults to P99 when undefined
* feat: handle unkown metric in panel query
* feat: added handling with type empty and key present or not
* feat: added test cases
* feat: added comment to better explain the logic
* feat: fixed operator list for unkown metric
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* refactor: update funnel description endpoint from POST /save to PUT /{funnel_id}
* feat: add timestamp to funnel description payload and update mutation type
---------
Co-authored-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* fix: add active log id to charts query
* refactor: remove comment
* fix: remove active log id on filter change
* test: update test for log explorer
* test: update test for log explorer
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* fix(license): return the active license even in case of suspended status
* fix(license): suspended check for side nav
* fix(license): suspended check for side nav
* fix(license): suspended check for side nav
* fix(license): suspended check for side nav
* feat: improved the alert rules list search functionality
* feat: improvements and tooltip added for more info
* feat: style improvement
* feat: style improvement
* feat: style improvement
* fix: updated the service name in exceptions filter
* fix: updated the service name in exceptions filter
* fix: updated the service name in exceptions filter
* feat: added enhancements to legends in panel
* feat: added option for right side legends
* feat: created the legend marker as checkboxes
* feat: removed histogram and pie from enhanced legends
* feat: row num adjustment
* feat: added graph visibilty in panel edit mode also
* feat: allignment and fixes
* feat: added test cases
* feat(user): support sso and api key
* feat(user): remove ee references from pkg
* feat(user): remove ee references from pkg
* feat(user): related client changes
* feat(user): remove the sso available check
* feat(user): fix go tests
* feat(user): move the middleware from ee to pkg
* feat(user): some more error code cleanup
* feat(user): some more error code cleanup
* feat(user): skip flaky UI tests
* feat(user): some more error code cleanup
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* fix: allow non expireable API key
* fix: clean up pat to API key middleware
* fix: address comments
* fix: update response of create api key
* fix: gettable struct
* fix(api-key): frontend changes for api key refactor
---------
Co-authored-by: vikrantgupta25 <vikrant@signoz.io>
* refactor: pagination changes in query range custom hook
* refactor: handle pagination changes in k8s logs and host logs
* refactor: logs panel component pagination changes
* fix: handle resetting offset on changing page size
* fix: optimize context log rendering and prevent duplicate logs
* chore: revert pagination handling changes for logs context view
* chore: remove unused function and prop
* refactor: handle the updated pagination logic in k8s entity events
* refactor: refactor queryPayload generation in logs pagination custom hook
* fix: remove handling for last log timestamp being sent with query_range
* chore: remove the unnecessary last log related changes from LogsExplorerViews
* Revert "fix: optimize context log rendering and prevent duplicate logs"
This reverts commit ad9ef188651e5106cbc84fe40fc36061c2b9fd40.
* fix: prevent recalculating the start/end timestamps while fetching next/prev pages
* chore: logs explorer pagination tests
* fix: rewrite test and mock scroll
* chore: use real timers to detect the start/end timestamps mismatch + enhance tests
* refactor: extract filters and order by into a separate function
* chore: add tests for logs context pagination
* chore: write tests for host logs pagination
* chore: overall improvements to host logs tests
* chore: k8s entity logs pagination tests
* chore: reset capturedQueryRangePayloads in beforeEach
* chore: dashboard logs panel component pagination tests
* fix: fix the breaking logs pagination test by change /v3 to /v4
* chore: remove the unused prop from HostMetricsLogs
* fix: logs window based pagination to pageSize offset instead of using id filter
* fix: add support for asc
* fix: remove unwanted code
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: display the inter-step latency type in step metrics table
* chore: send latency type with n+1th step + make latency type optional
* fix: fetch and format get funnel steps overview metrics
* chore: remove dev env check
* fix: overall fixes
* fix: don't cache validate query + trigger validate on changing error and where clause as well
* fix: display the latency type in step overview metrics table + p99_latency to latency
* chore: revert dev env check removal (remove after BE changes are merged)
* fix: adjust create API response
* chore: useLocalStorage custom hook
* feat: improve the run funnel flow
- for the initial fetch of funnel results, require the user to run the funnel
- subsequently change the run funnel button to a refresh button
- display loading state while any of the funnel results APIs are being fetched
* fix: fix the issue of add step details breaking
* fix: refetch funnel details on rename success
* fix: redirect 'learn more' to trace funnels docs
* fix: handle potential undefined step in latency type calculation
* fix: properly handle incomplete steps state
* fix: fix the edge case of stale validation state on transitioning from invalid steps to valid steps
* fix: remove the side effect from render and move to useEffect
* feat: add support for S3 region buckets syncing
* fix: hide the dropdown icon and not found dropdown for s3 buckets selector
* fix: display s3 buckets selector only for s3 sync service
* chore: tests for configure service s3 sync
---------
Co-authored-by: Piyush Singariya <piyushsingariya@gmail.com>
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* fix(AccountSettingsModal): add region deselect functionality to region selector
* fix(AWS integration): redirect help button to aws integration documentation
* style(Header): update button color on hover for improved visibility
* feat: added error preview and warning text with info on cyclic dependency detected
* feat: removed console.log
* feat: restricted save when cycle found
* feat: added test cases for variableitem flow and update test cases
* feat: updated test cases
* feat: corrected the recent resolved title text
* chore(savedview): refactor into module and handler
* chore(rule): move telemetry inside telemetry
* chore(apdex): refactor apdex and delete dao
* chore(dashboard): create a dashboard module
* chore(ee): get rid of the init nonesense
* chore(dashboard): fix err and apierror confusion
* chore: address comments
* feat: suggest and allow variables in panel title
* feat: refined the logic for suggestion and addition with $
* feat: added logic for panel title resolved string and added test cases
* feat: added support to full view
* chore: update auth
* chore: password changes
* chore: make changes in oss code
* chore: login
* chore: get to a running state
* fix: migration inital commit
* fix: signoz cloud intgtn tests
* fix: minor fixes
* chore: sso code fixed with org domain
* fix: tests
* fix: ee auth api's
* fix: changes in name
* fix: return user in login api
* fix: address comments
* fix: validate password
* fix: handle get domain by email properly
* fix: move authomain to usermodule
* fix: use displayname instead of hname
* fix: rename back endpoints
* fix: update telemetry
* fix: correct errors
* fix: test and fix the invite endpoints
* fix: delete all things related to user in store
* fix: address issues
* fix: ee delete invite
* fix: rename func
* fix: update user and update role
* fix: update role
* chore(api): update the api folder structure according to rest principles
* fix: login and invite changes
* chore(api): update the api folder structure according to rest principles
* chore(login): update the frontend according to the new APIs
* fix: return org name in users response
* chore(login): update the frontend according to the new APIs
* fix: update user role
* fix: nil check
* chore(login): update the frontend according to the new API
* fix: getinvite and update role
* fix: sso
* fix: getinvite use sso ctx
* fix: use correct sourceurl
* fix: getsourceurl from req payload
* chore(login): update the frontend according to the new API
* fix: update created_at
* fix: fix reset password
* chore(login): fixed reset password and bulk invites
* fix: sso signup and token password change
* fix: don't delete last admin
* fix: reset password and migration
* fix: migration
* chore(login): fix the unwanted throw statement and tsconfig
* fix: reset password for sso users
* fix: clean up invite
* chore(login): delete last admin user and reset password
* fix: migration
* fix: update claims and store code
* fix: use correct error
* fix: proper nil checks
* fix: make migration multitenant
* fix: address comments
* fix: minor fixes
* fix: test
* fix: rename reset password
* fix: set self restration only when sso endabled
* chore(auth): update the invite user API
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* chore(auth): update integration test
* fix: telemetry
---------
Co-authored-by: nityanandagohain <nityanandagohain@gmail.com>
* feat: added 10 minute time range for traces co-relation in api monitoring
* feat: url sharing for domain details drawer w/o filters for endpoint stats
* feat: added endpoint details persistence
* feat: external services to api monitoring co relation - 0
* feat: added api co relations to other panels on external services
* fix: cosmetic fix
* feat: addded tests for url sharing utils
* feat: minor cosmetic changes
* fix: changed traces co relation window from 10 minutes to 5 minutes
* fix: minor copy changes
* fix: pr comments
* fix: minor bug fix
* fix: pr comments improvements
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* feat: funnels list page basic UI
* feat: get funnels list data from mock API, and handle data, loading and empty states
* feat: implement funnel rename
* chore: move useFunnels to hooks/TracesFunnels
* feat: create traces funnels details basic page + funnel -> details redirection
* fix: properly display created at in funnels list item + preventDefault
* chore: add tab bar to trace funnel details page
* chore: traces funnel details page overall skeleton
* chore: traces funnel details results skeleton
* fix: hide step count for add button only
* feat: funnel details page steps and configuration (#7424)
* chore: add a new tab for traces funnels
* feat: funnels list page basic UI
* feat: get funnels list data from mock API, and handle data, loading and empty states
* feat: implement funnel rename
* refactor: overall improvements
* feat: implement sorting in traces funnels list page
* feat: add sort column key and order to url params
* chore: move useFunnels to hooks/TracesFunnels
* feat: implement traces funnels search and refactor search and sort by extracting to custom hooks
* chore: overall improvements to rename trace funnel modal
* chore: make the rename input auto-focusable
* feat: handle create funnel modal
* feat: delete funnel modal and functionality
* fix: fix the layout shift in funnel item caused by getContainer={false}
* chore: overall improvements and use live api in traces funnels
* feat: create traces funnels details basic page + funnel -> details redirection
* fix: funnels traces light mode UI
* fix: properly display created at in funnels list item + preventDefault
* refactor: extract FunnelItemPopover into a separate component
* chore: hide funnel tab from traces explorer
* chore: add check to display trace funnels tab only in dev environment
* chore: improve funnels modals light mode
* chore: overall improvements
* fix: properly pass funnel details link
* chore: address PR review changes
* chore: add tab bar to trace funnel details page
* feat: funnel step UI with service, span, and where filters
* feat: build radio button component
* refactor: use the SignozRadioButton in funnel results -> step transitions radio buttons
* feat: inter step config (i.e. latency type) UI
* chore: improve steps header styles by removing divider width
* feat: funnel steps title, description, popover UI + pass data from API
* chore: update FilterSelect component to conditionally add url params and accept on change
* fix: fix funnel step where clause and update the state variables for filters
* chore: add support for isMultiple and fix the type in FilterSelect
* feat: centralize the steps state management in StepsContent
* fix: move steps state up + pass steps count from state
* feat: implement auto save for updating the steps whenever any step changes
* feat: implement auto save for validating steps if service name or span names change
* feat: impelement funnel step removal
* feat: implement add details modal for funnel steps
* fix: fix the overflowing time range picker
* feat: funnel details empty state
* feat: add support for saving funnel description
* chore: overall improvements
* fix: fix the light mode styles
* fix: fix the failing build + broken search UI
* refactor: remove the reference of useLocation from traceFunnel item in TraceModulePage constant
* fix: fix the issue of update steps getting triggered on initial render if we have filters
* fix: fix the edge case of stale state causing filters to be re-added after removing
* feat: funnel details page results (#7451)
* feat: funnel metrics table component
* feat: funnel metrics and steps transition metrics components UI
* feat: funnel table component
* feat: slowest traces and traces with error components
* fix: overall light theme fixes
* fix: fix the warning
* chore: add empty and loading states to FunnelMetricsTable
* feat: get overall funnel metrics from the API
* fix: fix the empty state of funnel metrics table
* feat: get data for slowest traces and traces with errors
* fix: link trace id to trace details page
* fix: get data for funnel step transition metrics and refactor the existing data fetching logic
* refactor: add funnel context + overall refactoring and optimizations
* refactor: move steps states to funnel context + handle empty and run funnel disabled states
* feat: handle run funnel
* fix: improve empty state
* chore: rename isValidateStepsMutationLoading -> isValidateStepsLoading
* chore: improve query key
* fix: display loading state if funnel results are fetching
* refactor: move steps validation fetching and states to the context API
* fix: display loading state in funnel results while steps validation is fetching
* fix: call validate steps API only on changing the service name or span name of any step
* refactor: move validateStepsQuery key out of useEffect and update the dependencies
* chore: centralize hasIncompleteSteps and run validate only if steps have service and spans
* fix: handle all empty fields state + overall improvements
* fix: handle long where query tags
* feat: build the funnel result graph component
* feat: build the funnel result graph component
* feat: handle loading, error, empty states in funnel graph
* fix: don't display change percentage if % is 0
* refactor: overall improvements
* feat: get funnel steps graph data from API + move logic to custom hook
* fix: improve empty and error states
* fix: handle funnel graph legends width using css
* fix: redirect to trace funnels list page on clicking delete from funnel details
* fix: update the query cache while updating steps
* fix: implement debounced search for funnel list search
* fix: refetch steps graph data query on clicking run funnel / sync button
* fix: improve the step footer spacing
* chore: add gap between divider to inter-step-config
* fix: handle loading state while fetching
* feat: add span to funnel flow (from trace details page) (#7477)
* chore: display add to funnel icon on hovering any span in trace details page
* chore: add className to funnel item actions popover
* feat: add funnels tab to trace details v2 tab bar
* feat: add span to funnel flow
* chore: hide actions popover button from funnel item in span -> funnel flows
* chore: improve the funnel details UI in add span to funnel modal
* fix: display empty state + don't redirect to funnels list on delete success + overall improvements
* chore: add null check
* fix: display add to funnel button based on feature flag
* fix: display funnels tab in trace details based on feature flag
* fix: remove maxTagCount
* feat: change ms to ns
* chore: address review comments
* chore: remove feature flag and display trace funnels only in dev envirnoment
* fix: handle restoring steps if updating funnel steps fail
* refactor: update the get and delete funnel endpoints to adjust to the BE changes (#7697)
* refactor: address review comments
* fix: handle nested funnel response structure to fix missing funnel_id… (#7740)
* fix: handle nested funnel response structure to fix missing funnel_id in updates
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: remove console.og
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: revert explicitly passing funnelId to updateFunnelSteps
---------
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
Co-authored-by: ahmadshaheer <ashaheerki@gmail.com>
* chore: fix api endpoint
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* refactor: incorporate the recent funnel details API changes (#7760)
* chore: trace funnels feedback changes (#7772)
* chore: change the copy from x traces to valid traces found / not found
* chore: add open funnel button in add span to funnel modal
* feat: display buttons for adding step details and funnel description + copy to clipboard
* feat: highlight funnel graph column based on selected (total / error span) from the legend items
* chore: trace funnel changes (#7780)
* refactor: handle funnels list search on frontend
* refactor: use funnel steps update API for adding / updating step title and description
* feat: allow selecting user's typed option in trace funnel service and span name dropdowns
* chore: properly render the -> between steps in funnel results
* fix: sync funnel step name with add details modal text fields
---------
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
Co-authored-by: Yunus M <myounis.ar@live.com>
Co-authored-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore(error): integrate new errors for channels create and test
* chore(error): update all the channel APIs
* chore(error): update the edit org http issue
* chore(error): fix create channel test
* chore(error): fix create channel test
* chore(error): fix create channel test
* chore(error): fix create channel test
* chore(error): remove console logs
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat(login): add error response v2 and error handler v2
* feat(error): added the base error class
* feat(error): added the base error class
* feat(error): remove unnecessary code
* feat(error): fix types
* feat(error): add http status code helper
* feat: add hideSpanScopeSelector prop to QueryBuilderSearchV2 and hide from non qb consumers
* fix: update the tests to check rendering based on hideSpanScopeSelector
* feat: display span selector in exceptions page
* fix: context log data fix in list view
* fix: fix query builder and quick filters in light mode
* chore: add desc
* chore: added test case
* fix: fix redirect url when not in logs view
* chore: minor fix
* chore: minor fix
* chore: minor test fix
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* feat: quick_filter_fix
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added support for custom quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added url sharing for main domain list page api monitoring
* feat: added shivanshus suggestions in qb payloads for spanid and kind string client filter
* fix: limited the endpoints table limit to 1000
* feat: date picker in domain details drawer
* feat: added top errors tab in domain details
* fix: removed console logs
* feat: new dep services top 10 errors localised date picker agrregate domain details etc
* feat: added domain level and endpoint level stats
* feat: added custom cell rendering in gridcard, added new table view in all endpoints
* feat: added port column in endpoints table
* feat: added custom title handling in gridtablecomponent
* fix: fixed the traces corelation query for status code bar charts
* feat: added zoom functionality on domain details charts
* chore: add constants for standardisation
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: add constants for standardisation in the API
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* feat: add tooltip to Endpoint Overview
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* feat: api monitoring feedback till 28th april
* feat: added top errors to traces corelation
* feat: added new rate col to status code table
* feat: custom color mapping for uplot tooltip implemented
* chore: added ApiMonitoringPage.test
* chore: added uts for all endpoints, top errors and their utils
* fix: minor fix
* chore: moved test files to proper folder
* chore: added endpoint details uts and its imported utils ut
* chore: added endpoint dropdown uts and its imported utils ut
* chore: added endpoint metrics uts and its imported utils ut
* chore: added dependent services uts and its imported utils ut
* chore: added status code bar chart uts and its imported utils ut
* chore: added status code table uts and its imported utils ut
* feat(zeus): add zeus package
* feat(signoz): add DI for zeus
* feat(zeus): integrate with the codebase
* ci(make): change makefile
* ci: change workflows to point to the new zeus url
* Update ee/query-service/usage/manager.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update ee/query-service/license/manager.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix nil retriable
* fix: fix zeus DI
* fix: fix path of ldflag
* feat(zeus): added zeus integration tests
* feat(zeus): added zeus integration tests
* feat(zeus): format the pytest
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: vikrantgupta25 <vikrant.thomso@gmail.com>
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* feat: added new Select component for multi and single select
* feat: refactored code and added keyboard navigations in single select
* feat: different state handling in single select
* feat: updated the playground page
* feat: multi-select updates
* feat: fixed multiselect selection issues
* feat: multiselect cleanup
* feat: multiselect key navigation cleanup
* feat: added tokenization in multiselect
* feat: add on enter and handle duplicates
* feat: design update to the components
* feat: design update to the components
* feat: design update to the components
* feat: updated the playground page
* feat: edited playground data
* feat: edited styles
* feat: code cleanup
* feat: added shift + keys navigation and selection
* feat: improved styles and added darkmode styles
* feat: removed scroll bar hover style
* feat: added scroll bar on hover
* feat: added regex wrapper support
* feat: fixed right arrow navigation across chips
* feat: addressed all the single select feedbacks
* feat: addressed all the single select feedbacks
* feat: added only-all-toggle feat with ALL selection tag
* feat: remove clear, update footer info content and style and misc fixes
* feat: misc style fixes
* feat: added quotes exception to the multiselect tagging
* feat: removing demo page, and cleanup PR for reviews
* feat: resolved comments and refactoring
* feat: added test cases
* feat(organization): add hname and alias for organization
* fix: boolean values are not shown in the list panel's column
* fix: moved logic to component level
* fix: added type
* fix: added test cases
* fix: added test cases
* chore: update copy webpack plugin
* Revert "fix: display same key with multiple data types in filter suggestions by enhancing the deduping logic (#7255)"
This reverts commit 1e85981a17.
* fix: use query search v2 for traces data source to handle multiple data types for the same key
* fix(QueryBuilderSearchV2): add user typed option if it doesn't exist in the payload
* fix(QueryBuilderSearchV2): increase the height of search dropdown for non-logs data sources
* fix: display span scope selector for trace data source
* chore: remove the span scope selector from qb search v1 and move the component to search v2
* fix: write test to ensure that we display span scope selector for traces data source
* fix: limit converting -> only to log data source
* fix: don't display empty suggestion if only spaces are typed
* chore: tests for span scope selector
* chore: qb search flow (key, operator, value) test cases
* refactor: fix the Maximum update depth reached issue while running tests
* chore: overall improvements to span scope selector tests
Resource attr filter: style fix and quick filter changes (#7691)
* chore: resource attr filter init
* chore: resource attr filter api integration
* chore: operator config updated
* chore: fliter show hide logic and styles
* chore: add support for custom operator list to qb
* chore: minor refactor
* chore: minor code refactor
* test: quick filters test suite added
* test: quick filters test suite added
* test: all errors test suite added
* chore: style fix
* test: all errors mock fix
* chore: test case fix and mixpanel update
* chore: color update
* chore: minor refactor
* chore: style fix
* chore: set default query in exceptions tab
* chore: style fix
* chore: minor refactor
* chore: minor refactor
* chore: minor refactor
* chore: test update
* chore: fix filter header with no query name
* fix: scroll fix
* chore: add data source traces to quick filters
* chore: replace div with fragment
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
fix: handle rate operators for table panel (#7695)
* fix: handle rate operators for table panel
chore: fix error rate (#7701)
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* feat(organization): minor cleanups
* feat(organization): better naming for api and usecase
* feat(organization): better packaging for modules
* feat(organization): change hname to displayName
* feat(organization): update the migration to use dialect
* feat(organization): update the migration to use dialect
* feat(organization): update the migration to use dialect
* feat(organization): revert back to impl
* feat(organization): remove DI from organization
* feat(organization): address review comments
* feat(organization): address review comments
* feat(organization): address review comments
---------
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: resource attr filter init
* chore: resource attr filter api integration
* chore: operator config updated
* chore: fliter show hide logic and styles
* chore: add support for custom operator list to qb
* chore: minor refactor
* chore: minor code refactor
* test: quick filters test suite added
* test: quick filters test suite added
* test: all errors test suite added
* chore: style fix
* test: all errors mock fix
* chore: test case fix and mixpanel update
* chore: color update
* chore: minor refactor
* chore: style fix
* chore: set default query in exceptions tab
* chore: style fix
* chore: minor refactor
* chore: minor refactor
* chore: minor refactor
* chore: test update
* chore: fix filter header with no query name
* fix: scroll fix
* chore: add data source traces to quick filters
* chore: replace div with fragment
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* Revert "fix: display same key with multiple data types in filter suggestions by enhancing the deduping logic (#7255)"
This reverts commit 1e85981a17.
* fix: use query search v2 for traces data source to handle multiple data types for the same key
* fix(QueryBuilderSearchV2): add user typed option if it doesn't exist in the payload
* fix(QueryBuilderSearchV2): increase the height of search dropdown for non-logs data sources
* fix: display span scope selector for trace data source
* chore: remove the span scope selector from qb search v1 and move the component to search v2
* fix: write test to ensure that we display span scope selector for traces data source
* fix: limit converting -> only to log data source
* fix: don't display empty suggestion if only spaces are typed
* chore: tests for span scope selector
* chore: qb search flow (key, operator, value) test cases
* refactor: fix the Maximum update depth reached issue while running tests
* chore: overall improvements to span scope selector tests
* fix: boolean values are not shown in the list panel's column
* fix: moved logic to component level
* fix: added type
* fix: added test cases
* fix: added test cases
* chore: resource attr filter init
* chore: resource attr filter api integration
* chore: operator config updated
* chore: fliter show hide logic and styles
* chore: add support for custom operator list to qb
* chore: minor refactor
* chore: minor code refactor
* test: quick filters test suite added
* test: quick filters test suite added
* test: all errors test suite added
* chore: style fix
* test: all errors mock fix
* chore: test case fix and mixpanel update
* chore: color update
* chore: minor refactor
* chore: style fix
* chore: set default query in exceptions tab
* chore: style fix
* chore: minor refactor
* chore: minor refactor
* chore: minor refactor
* chore: test update
* chore: fix filter header with no query name
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* feat(ruler): base setup for rules and planned maintenance tables
* feat(ruler): more changes for making ruler org aware
* feat(ruler): fix lint
* feat(ruler): update the edit planned maintenance function
* feat(ruler): local testing edits for planned maintenance
* feat(ruler): abstract store and types from rules pkg
* feat(ruler): abstract store and types from rules pkg
* feat(ruler): abstract out store and add migration
* feat(ruler): frontend changes and review comments
* feat(ruler): add back compareAndSelectConfig
* feat(ruler): changes for alertmanager matchers
* feat(ruler): addressed review comments
* feat(ruler): remove the cascade operations from rules table
* feat(ruler): update the template for alertmanager
* feat(ruler): implement the rule history changes
* feat(ruler): implement the rule history changes
* feat(ruler): implement the rule history changes
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
* test(integration): set the base for integration tests
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
### Summary
- only include telemetry tunnel FE environment variables for the staging build
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* chore: multitenancy in integrations
* chore: multitenancy in cloud integration accounts
* chore: changes to cloudintegrationservice
* chore: rename migration
* chore: update scan function
* chore: update scan function
* chore: fix migration
* chore: fix struct
* chore: remove unwanted code
* chore: update scan function
* chore: migrate user and pat for integrations
* fix: changes to the user for integrations
* fix: address comments
* fix: copy created_at
* fix: update non revoked token
* chore: don't allow deleting pat and user for integrations
* fix: address comments
* chore: address comments
* chore: add checks for fk in dialect
* fix: service migration
* fix: don't update user if user is already migrated
* fix: update correct service config
* fix: remove unwanted code
* fix: remove migration for multiple same services which is not required
* fix: fix migration and disable disaboard if metrics disabled
* fix: don't use ee types
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
### Summary
- Non-production build workflow using Primus
- Staging CD: new staging app and dev staging deployments
- cleanup used docker resources in stagingapp/testingapp machines
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
### Summary
- Added the trace search endpoint back
- Enabled the `smart` algorithm for all users
- Added `"algo":"smart"` for telemetry events in the old endpoint
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* feat(sqlmigration): update apdex and TTL status tables (#7481)
* feat(sqlmigration): update the apdex and ttl tables
* feat(sqlmigration): register the new migration and rename table
* feat(sqlmigration): fix the ttl queries
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): fix the reset password and pat tables (#7482)
* feat(sqlmigration): fix the reset password and pat tables
* feat(sqlmigration): revert PAT changes
* feat(sqlmigration): register and rename the new migration
* feat(sqlmigration): handle updates for user tables
* feat(sqlmigration): remove unwanted changes
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* feat(sqlmigration): update apdex and TTL status tables (#7481)
* feat(sqlmigration): update the apdex and ttl tables
* feat(sqlmigration): register the new migration and rename table
* feat(sqlmigration): fix the ttl queries
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* chore: add migration for pat to add default values
* fix: minor changes
* fix: don't panic in GetClickhouseColumnName
* fix: use new function for pat
* fix: address minor comments
* fix: address comments
* fix: remove generatepat
* fix: minor changes
* fix: remove extra check
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
* feat: new dropdown styles
* fix: added new tag
* feat: added endpoint name and port in endpoint details
* feat: endpoint details feedback
* feat: analytics added
* fix: title fixed
* fix: domain list breaking for non available data
* feat: added third party api feature flag
* fix: console removed
* feat: added traces corelation in api monitoring charts
* feat: added customondragselect in grid card full view to handle breaking flow
* fix: minor failsafes added:
* fix: minor ux fix
* feat: incorporated pr comments - 0
* fix: added default value to time,space aggregation to fix query_range getting 500 for metric
* fix: added all available operators as default when no attribute type is present
* fix: changed operator, time and space values to avg when empty attribute type
* feat: msk integration
* feat: logs not available in msk
* fix: minor suggestions made by ellipsis
* fix: changes based on review, added Variables, Units, Legends, SVG
* fix: update in global variables, and query operators
* fix: update in rx tx panel, region variable query update
---------
Co-authored-by: Raj Kamal Singh <1133322+raj-k-singh@users.noreply.github.com>
remove color encoding with json logs. Fixes the irritating:
```
{"level":"\u001b[34mINFO\u001b[0m","timestamp":"2025-03-24T13:03:58.889Z",
```
in both enterprise and community
* chore: add a new tab for traces funnels
* feat: funnels list page basic UI
* feat: learn more component
* feat: get funnels list data from mock API, and handle data, loading and empty states
* chore(SignozModal): add width prop and improve button styles
* feat: implement funnel rename
* refactor: overall improvements
* feat: implement sorting in traces funnels list page
* feat: add sort column key and order to url params
* chore: move useFunnels to hooks/TracesFunnels
* feat: implement traces funnels search and refactor search and sort by extracting to custom hooks
* chore: overall improvements to rename trace funnel modal
* chore: make the rename input auto-focusable
* feat: handle create funnel modal
* feat: delete funnel modal and functionality
* fix: fix the layout shift in funnel item caused by getContainer={false}
* chore: overall improvements and use live api in traces funnels
* feat: create traces funnels details basic page + funnel -> details redirection
* fix: funnels traces light mode UI
* fix: properly display created at in funnels list item + preventDefault
* refactor: extract FunnelItemPopover into a separate component
* chore: hide funnel tab from traces explorer
* chore: add check to display trace funnels tab only in dev environment
* chore: improve funnels modals light mode
* chore: overall improvements
* fix: properly pass funnel details link
* chore: address PR review changes
* fix(metrics-explorer): added updated metadata in list summary
* fix(metrics-explorer): added skipSignozMetric in aggregate attribute
* fix(metrics-explorer): updated last received query
* fix: inital commit for pat
* fix: add migration file
* fix: add domain changes
* fix: minor fixes
* fix: update migration
* fix: update migration
* fix: update pat and old migration
* fix: move domain and sso type to ee
* feat: added context redirection from panels to explorer pages
* feat: added graph coordinate - context redirection
* feat: fixed tooltip overlapping the button
* feat: code fix
* feat: removed unneccesary comment
* feat: added logic to resolve variables
* feat: added better logic to handle specific and panel redirection using query
* feat: added multi query support by datasource to panels redirction
* feat: fixing createbutton display logic
* feat: added logic and ui for specific line redirection
* feat: added logic to compute query with groupby
* feat: code fix and added aysnc await
* feat: added context redirection to fullview and edit view panels (#7252)
* feat: added context redirection to fullview and edit view panels
* feat: restricted redirection query to have only one query
* feat: added is buttonEnabled logic of graphs
* feat: code cleanup
* feat: for one query removed the queryname from onclick button
* feat: removed redirection option from action menu
* feat: redesign the format api flow to avoid delay in clickbutton appearance
* feat: updated the create filter logic for groupBys
* feat: handled the error on format api
* chore: fix typo in RDS overview text
* feat: aws integration: get svc definition for API gateway started
* feat: aws integration: api gateway: add overview dashboard
* feat: aws integration: API gateway: add details of metrics collected
* chore: aws integration: api gateway: remove unnecessary promql query from panels
* fix: fixed list panel getting no-data in full view and edit panel
* fix: added cloneDeep for updatedQuery
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: fixed legend format not working for Pie Chart
* fix: added enhancement to legend fit and show, also made pie-chart responsive
* fix: made some css fixes
* fix: css fixes
* feat: added label with value (result) in Pie charts
* feat: added UI for inner radiud to have total value in the center of PIE
* feat: added formatting and unit support to innder total values
* feat: made value panel responsive and background color to full
* feat: added css fix
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: fixed legend format not working for Pie Chart
* fix: added enhancement to legend fit and show, also made pie-chart responsive
* fix: made some css fixes
* fix: css fixes
* fix: ui breaking due to licenses issue
* feat: handle navigations in case of oss in homepage (#7347)
* feat: handle navigations in case of oss in homepage
* fix: skip datasource and redirect to get-started from services table
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: base setup for in product home page
* feat: base state
* feat: add empty states for alerts, traces, dashboards, saved views
* feat: add checklist component
* feat: integrate all panels
* feat: integrate preference api and clean up components
* feat: handle done and skip states of the checklist
* feat: update ui
* feat: update ui
* feat: code cleanup
* feat: add events
* feat: support time interval change in services
* feat: add service time change event and cleanup code
* feat: handle light mode
* feat: address review comments
* fix: routing issues
* fix: testcase snapshot, a minor ui improvements
* fix: noopener typo in window.open
* fix: new implementation for finding missing timerange
* fix: remove unwanted code
* fix: update if condition
* fix: update logic and the test cases
* fix: correct name
* fix: filter points which are not a complete agg interval
* fix: fix the logic to use the points correctly
* fix: fix overlapping test case
* fix: add comments
* Update pkg/query-service/querycache/query_range_cache.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: use step ms
* fix: use step ms
* fix: tests
* fix: update logic to handle actual empty series
* fix: name updated
* Update pkg/query-service/app/querier/v2/helper.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: address comments
* fix: address comments
* fix: address comments
* Update pkg/query-service/common/query_range.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: add error log
* fix: handle case where end is equal to a complete window end
* fix: added comments
* fix: address comments
* fix: move function to common query range
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: support multitenancy in dashboards
* fix: support multitenancy in saved views
* fix: move migrations to provider file
* fix: remove getUserFromClaims and use new errors
* fix: remove getUserFromClaims and use new errors
* fix: use new errors in dashboards.go
* Update ee/query-service/app/api/dashboard.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: minor changes
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
### Summary
Integrate the new implementations of the alertmanager along with changes to the ruler. This change can be broadly categoried into 3 parts:
#### Frontend
- The earlier `/api/v1/alerts` api was double encoding the response in json and sending it to the frontend. This PR fixes the json response object.
For instance, we have gone from the response `{
"status": "success",
"data": "{\"status\":\"success\",\"data\":[{\"labels\":{\"alertname\":\"[platform][consumer] consumer is above 100% memory utilization\",\"bu\":\"platform\",\"......
}` to the response `{"status":"success","data":[{"labels":{"alertname":"[Metrics] Pod CP......`
- `msteams` has been changed to `msteamsv2` wherever applicable
#### Ruler
The following changes have been done in the ruler component:
- Removal of the old alertmanager and notifier
- The RuleDB methods `Create`, `Edit` and `Delete` have been made transactional
- Introduction of a new `testPrepareNotifyFunc` for sending test notifications
- Integration with the new alertmanager
#### Alertmanager
Although a huge chunk of the alertmanagers have been merged in previous PRs (the list can be found at https://github.com/SigNoz/platform-pod/issues/404), this PR takes care of changes needed in order to incorporate it with the ruler
- Addition of ruleId based matching
- Support for marshalling the global configuration directly from the upstream alertmanager
- Addition of orgId to the legacy alertmanager
- Support for always adding defaults to both routes and receivers while creating them
- Migration to create the required alertmanager tables
- Migration for msteams to msteamsv2 has been added. We will start using msteamv2 config for the new alertmanager and keep using msteams for the old one.
#### Related Issues / PR's
Closes https://github.com/SigNoz/platform-pod/issues/404
Closes https://github.com/SigNoz/platform-pod/issues/176
about:Request a new dashboard for the SigNoz Dashboards repository
about:Request a new dashboard for the Hanzo O11y Dashboards repository
title:'[Dashboard Request] '
labels:'dashboard-template'
assignees:''
---
<!-- Use this template to request a new dashboard for the SigNoz Dashboards repository. Providing detailed information will help us understand your needs better and speed up the dashboard creation process. -->
<!-- Use this template to request a new dashboard for the Hanzo O11y Dashboards repository. Providing detailed information will help us understand your needs better and speed up the dashboard creation process. -->
## Dashboard Name
@@ -46,4 +46,4 @@ assignees: ''
## 📋 Notes
Please review the [CONTRIBUTING.md](https://github.com/SigNoz/dashboards/blob/main/CONTRIBUTING.md) for guidelines on dashboard structure, naming conventions, and how to submit a pull request.
Please review the [CONTRIBUTING.md](https://github.com/Hanzo O11y/dashboards/blob/main/CONTRIBUTING.md) for guidelines on dashboard structure, naming conventions, and how to submit a pull request.
> Include screenshots or screen recordings that clearly show the behavior before the change and the result after the change. This helps reviewers quickly understand the impact and verify the update.
<!-- ✍️ Add screenshots of before and after changes where applicable-->
#### Affected Areas and Manually Tested Areas
#### Issues closed by this PR
> Reference issues using `Closes #issue-number` to enable automatic closure on merge.
<!-- ✍️ Add details of blast radius and dev testing areas where applicable-->
---
### ✅ Change Type
_Select all that apply_
- [ ] ✨ Feature
- [ ] 🐛 Bug fix
- [ ] ♻️ Refactor
- [ ] 🛠️ Infra / Tooling
- [ ] 🧪 Test-only
---
### 🐛 Bug Context
> Required if this PR fixes a bug
#### Root Cause
> What caused the issue?
> Regression, faulty assumption, edge case, refactor, etc.
#### Fix Strategy
> How does this PR address the root cause?
---
### 🧪 Testing Strategy
> How was this change validated?
- Tests added/updated:
- Manual verification:
- Edge cases covered:
---
### ⚠️ Risk & Impact Assessment
> What could break? How do we recover?
- Blast radius:
- Potential regressions:
- Rollback plan:
---
### 📝 Changelog
> Fill only if this affects users, APIs, UI, or documented behavior
> Use **N/A** for internal or non-user-facing changes
| Field | Value |
|------|-------|
| Deployment Type | Cloud / OSS / Enterprise |
| Change Type | Feature / Bug Fix / Maintenance |
| Description | User-facing summary |
---
### 📋 Checklist
- [ ] Tests added or explicitly not required
- [ ] Manually tested
- [ ] Breaking changes documented
- [ ] Backward compatibility considered
---
## 👀 Notes for Reviewers
<!-- Anything reviewers should keep in mind while reviewing -->
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
git diff --compact-summary --exit-code || (echo; echo "Unexpected difference in openapi spec. Run go run cmd/enterprise/*.go generate openapi locally and commit."; exit 1)
- name:node-install
uses:actions/setup-node@v5
with:
node-version:"22"
- name:install-frontend
run:cd frontend && pnpm install
- name:generate-api-clients
run:|
cd frontend && pnpm run generate:api
git diff --compact-summary --exit-code || (echo; echo "Unexpected difference in generated api clients. Run pnpm run generate:api in frontend/ locally and commit."; exit 1)
if ! git diff --exit-code frontend/src/hooks/useAuthZ/permissions.type.ts; then
echo "::error::frontend/src/hooks/useAuthZ/permissions.type.ts is out of date. Please run the generator locally and commit the changes: npm run generate:permissions-type (from the frontend directory)"
Our community is filled with passionate developers who love Hanzo O11y and have been helping spread the word about observability across the world. The Hanzo O11y Community Advocate Program is our way of recognizing these incredible community members and creating deeper collaboration opportunities.
## What is the Hanzo O11y Community Advocate Program?
The Hanzo O11y Community Advocate Program celebrates and supports community members who are already passionate about observability and helping fellow developers. If you're someone who loves discussing Hanzo O11y, helping others with their implementations, or sharing knowledge about observability practices, this program is designed with you in mind.
Our advocates are the heart of the Hanzo O11y community, helping other developers succeed with observability and providing valuable insights that help us build better products.
## What Do Advocates Do?
1.**Community Support**
- Help fellow developers in our Slack community and GitHub Discussions
- Answer questions and share solutions
- Guide newcomers through Hanzo O11y self-host implementations
2.**Knowledge Sharing**
- Spread awareness about observability best practices on developer forums
- Create content like blog posts, social media posts, and videos
- Host local meetups and events in their regions
3.**Product Collaboration**
- Provide insights on features, changes, and improvements the community needs
- Beta test new features and provide early feedback
- Help us understand real-world use cases and pain points
## What's In It For You?
**Recognition & Swag**
- Official recognition as a Hanzo O11y advocate
- Welcome hamper upon joining
- Exclusive swag box within your first 3 months
- Feature on our website (with your permission)
**Early Access**
- First look at new features and updates
- Direct line to the Hanzo O11y team for feedback and suggestions
- Opportunity to influence product roadmap
**Community Impact**
- Help shape the observability landscape
- Build your reputation in the developer community
- Connect with like-minded developers globally
## How Does It Work?
Currently, the Hanzo O11y Community Advocate Program is **invite-only**. We're starting with a small group of passionate community members who have already been making a difference.
We'll be working closely with our first advocates to shape the program details, benefits, and structure based on what works best for everyone involved.
If you're interested in learning more about the program or want to get more involved in the Hanzo O11y community, join our [Slack community](https://signoz-community.slack.com/) and let us know!
---
*The Hanzo O11y Community Advocate Program recognizes and celebrates the amazing community members who are already passionate about helping fellow developers succeed with observability.*
Thank you for your interest in contributing to our project! We greatly value feedback and contributions from our community. This document will guide you through the contribution process.
Hi there! We're thrilled that you'd like to contribute to this project, thank you for your interest. Whether it's a bug report, new feature, correction, or additional documentation, we greatly value feedback and contributions from our community.
## How can I contribute?
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution.
### Finding Issues to Work On
- Check our [existing open issues](https://github.com/Hanzo O11y/signoz/issues?q=is%3Aopen+is%3Aissue)
- Look for [good first issues](https://github.com/Hanzo O11y/signoz/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to start with
- Review [recently closed issues](https://github.com/Hanzo O11y/signoz/issues?q=is%3Aissue+is%3Aclosed) to avoid duplicates
- We accept contributions made to the [SigNoz `develop` branch]()
7.**Join Discussions**: Participate in [project discussions](https://github.com/Hanzo O11y/signoz/discussions)
Looking at the existing issues is a great way to find something to contribute on.
Also, have a look at these [good first issues label](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to start with.
- [How to Contribute](#2-how-to-contribute-%EF%B8%8F)
- [Develop Frontend](#3-develop-frontend-)
- [Contribute to Frontend with Docker installation of SigNoz](#31-contribute-to-frontend-with-docker-installation-of-signoz)
- [Contribute to Frontend without installing SigNoz backend](#32-contribute-to-frontend-without-installing-signoz-backend)
- [Contribute to Backend (Query-Service)](#4-contribute-to-backend-query-service-)
- [To run ClickHouse setup](#41-to-run-clickhouse-setup-recommended-for-local-development)
- [Contribute to SigNoz Helm Chart](#5-contribute-to-signoz-helm-chart-)
- [To run helm chart for local development](#51-to-run-helm-chart-for-local-development)
- [Contribute to Dashboards](#6-contribute-to-dashboards-)
- [Other Ways to Contribute](#other-ways-to-contribute)
- **For Feature Requests**:
- Clear use case and requirements
-Proposed solution or improvement
-Any open questions or considerations
# 1. General Instructions 📝
- **For Bug Reports**:
- Step-by-step reproduction steps
- Version information
- Relevant environment details
- Any modifications you've made
- Expected vs actual behavior
## 1.1 For Creating Issue(s)
Before making any significant changes and before filing a new issue, please check [existing open](https://github.com/SigNoz/signoz/issues?q=is%3Aopen+is%3Aissue), or [recently closed](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aclosed) issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can.
- **Requirement** - what kind of use case are you trying to solve?
- **Proposal** - what do you suggest to solve the problem or improve the existing
situation?
- Any open questions to address❓
For substantial changes, please split your contribution into multiple PRs:
#### If you are reporting a bug, details like these are incredibly useful:
1. First PR: Overall structure (README, configurations, interfaces)
2. Second PR: Core implementation (split further if needed)
3. Final PR: Documentation updates and end-to-end tests
- A reproducible test case or series of steps.
- The version of our code being used.
- Any modifications you've made relevant to the bug🐞.
- Anything unusual about your environment or deployment.
### Commit Convention
Discussing your proposed changes ahead of time will make the contribution
process smooth for everyone 🙌.
We follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). All commits and PRs should include type specifiers (e.g., `feat:`, `fix:`, `docs:`, etc.).
**[`^top^`](#contributing-guidelines)**
<hr>
## How can I contribute to other repositories?
## 1.2 For Pull Request(s)
You can find other repositories in the [Hanzo O11y](https://github.com/Hanzo O11y) organization to contribute to. Here is a list of **highlighted** repositories:
Contributions via pull requests are much appreciated. Once the approach is agreed upon ✅, make your changes and open a Pull Request(s).
Before sending us a pull request, please ensure that,
- Fork the SigNoz repo on GitHub, clone it on your machine.
- Create a branch with your changes.
- You are working against the latest source on the `develop` branch.
- Modify the source; please focus only on the specific change you are contributing.
- Ensure local tests pass.
- Commit to your fork using clear commit messages.
- Send us a pull request, answering any default questions in the pull request interface.
- Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation
- Once you've pushed your commits to GitHub, make sure that your branch can be auto-merged (there are no merge conflicts). If not, on your computer, merge main into your branch, resolve any merge conflicts, make sure everything still runs correctly and passes all the tests, and then push up those changes.
- Once the change has been approved and merged, we will inform you in a comment.
Each repository has its own contributing guidelines. Please refer to the guidelines of the repository you want to contribute to.
## How can I get help?
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
**Note:** Unless your change is small, **please** consider submitting different Pull Request(s):
## Where do I go from here?
* 1️⃣ First PR should include the overall structure of the new component:
* Readme, configuration, interfaces or base classes, etc...
* This PR is usually trivial to review, so the size limit does not apply to
it.
* 2️⃣ Second PR should include the concrete implementation of the component. If the
size of this PR is larger than the recommended size, consider **splitting** ⚔️ it into
multiple PRs.
* If there are multiple sub-component then ideally each one should be implemented as
a **separate** pull request.
* Last PR should include changes to **any user-facing documentation.** And should include
end-to-end tests if applicable. The component must be enabled
only after sufficient testing, and there is enough confidence in the
stability and quality of the component.
You can always reach out to `ankit@signoz.io` to understand more about the repo and product. We are very responsive over email and [slack community](https://signoz.io/slack).
### Pointers:
- If you find any **bugs** → please create an [**issue.**](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=bug_report.md&title=)
- If you find anything **missing** in documentation → you can create an issue with the label **`documentation`**.
- If you want to build any **new feature** → please create an [issue with the label **`enhancement`**.](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=feature_request.md&title=)
- If you want to **discuss** something about the product, start a new [**discussion**.](https://github.com/SigNoz/signoz/discussions)
- If you want to request a new **dashboard template** → please create an issue [here](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=dashboard-template&projects=&template=request_dashboard.md&title=%5BDashboard+Request%5D+).
<hr>
### Conventions to follow when submitting Commits and Pull Request(s).
We try to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), more specifically the commits and PRs **should have type specifiers** prefixed in the name. [This](https://www.conventionalcommits.org/en/v1.0.0/#specification) should give you a better idea.
e.g. If you are submitting a fix for an issue in frontend, the PR name should be prefixed with **`fix(FE):`**
- Follow [GitHub Flow](https://guides.github.com/introduction/flow/) guidelines for your contribution flows.
- Feel free to ping us on [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) or [`#contributing-frontend`](https://signoz-community.slack.com/archives/C027134DM8B) on our slack community if you need any help on this :)
**[`^top^`](#contributing-guidelines)**
<hr>
# 2. How to Contribute 🙋🏻♂️
#### There are primarily 2 areas in which you can contribute to SigNoz
- [**Frontend**](#3-develop-frontend-) (Written in Typescript, React)
- [**Backend**](#4-contribute-to-backend-query-service-) (Query Service, written in Go)
- [**Dashboard Templates**](#6-contribute-to-dashboards-) (JSON dashboard templates built with SigNoz)
Depending upon your area of expertise & interest, you can choose one or more to contribute. Below are detailed instructions to contribute in each area.
**Please note:** If you want to work on an issue, please add a brief description of your solution on the issue before starting work on it.
**[`^top^`](#contributing-guidelines)**
<hr>
# 3. Develop Frontend 🌚
**Need to Update: [https://github.com/SigNoz/signoz/tree/main/frontend](https://github.com/SigNoz/signoz/tree/main/frontend)**
Also, have a look at [Frontend README.md](https://github.com/SigNoz/signoz/blob/main/frontend/README.md) sections for more info on how to setup SigNoz frontend locally (with and without Docker).
## 3.1 Contribute to Frontend with Docker installation of SigNoz
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- Comment out `frontend` service section at [`deploy/docker/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/main/deploy/docker/docker-compose.yaml#L68)
- Install signoz locally **without** the frontend,
- Add / Uncomment the below configuration to query-service section at [`deploy/docker/docker-compose.yaml#L47`](https://github.com/SigNoz/signoz/blob/main/deploy/docker/docker-compose.yaml#L47)
- `cd ../frontend` and change baseURL in file [`frontend/src/constants/env.ts#L2`](https://github.com/SigNoz/signoz/blob/main/frontend/src/constants/env.ts#L2) and for that, you need to create a `.env` file in the `frontend` directory with the following environment variable (`FRONTEND_API_ENDPOINT`) matching your configuration.
If you have backend api exposed via frontend nginx:
```
FRONTEND_API_ENDPOINT=http://localhost:3301
```
If not:
```
FRONTEND_API_ENDPOINT=http://localhost:8080
```
- Next,
```
yarn install
yarn dev
```
## 3.2 Contribute to Frontend without installing SigNoz backend
If you don't want to install the SigNoz backend just for doing frontend development, we can provide you with test environments that you can use as the backend.
- Clone the SigNoz repository and cd into signoz/frontend directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz/frontend
````
- Create a file `.env` in the `frontend` directory with `FRONTEND_API_ENDPOINT=<test environment URL>`
- Next,
```
yarn install
yarn dev
```
Please ping us in the [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) channel or ask `@Prashant Shahi` in our [Slack Community](https://signoz.io/slack) and we will DM you with `<test environment URL>`.
**Frontend should now be accessible at** [`http://localhost:3301/services`](http://localhost:3301/services)
**[`^top^`](#contributing-guidelines)**
<hr>
# 4. Contribute to Backend (Query-Service) 🌑
**Need to Update: [https://github.com/SigNoz/signoz/tree/main/pkg/query-service](https://github.com/SigNoz/signoz/tree/main/pkg/query-service)**
## 4.1 Prerequisites
### 4.1.1 Install SQLite3
- Run `sqlite3` command to check if you already have SQLite3 installed on your machine.
- If not installed already, Install using below command
- on Linux
- on Debian / Ubuntu
```
sudo apt install sqlite3
```
- on CentOS / Fedora / RedHat
```
sudo yum install sqlite3
```
## 4.2 To run ClickHouse setup (recommended for local development)
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- run `sudo make dev-setup` to configure local setup to run query-service,
- Comment out `frontend` service section at [`deploy/docker/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/main/deploy/docker/docker-compose.yaml#L68)
- Comment out `query-service` section at [`deploy/docker/docker-compose.yaml#L41`,](https://github.com/SigNoz/signoz/blob/main/deploy/docker/docker-compose.yaml#L41)
<img width="1068" alt="Screenshot 2022-07-14 at 22 48 07" src="https://user-images.githubusercontent.com/52788043/179044151-a65ba571-db0b-4a16-b64b-ca3fadcf3af0.png">
- add below configuration to `clickhouse` section at [`deploy/docker/docker-compose.yaml`,](https://github.com/SigNoz/signoz/blob/main/deploy/docker/docker-compose.yaml)
```
ports:
- 9001:9000
```
<img width="1013" alt="Screenshot 2022-07-14 at 22 50 37" src="https://user-images.githubusercontent.com/52788043/179044544-a293d3bc-4c4f-49ea-a276-505a381de67d.png">
- run `cd pkg/query-service/` to move to `query-service` directory,
- Then, you need to create a `.env` file with the following environment variable
```
SIGNOZ_SQLSTORE_SQLITE_PATH="./signoz.db"
```
to set your local environment with the right `RELATIONAL_DATASOURCE_PATH` as mentioned in [`./constants/constants.go#L38`,](https://github.com/SigNoz/signoz/blob/main/pkg/query-service/constants/constants.go#L38)
- Now, install SigNoz locally **without** the `frontend` and `query-service`,
- If you are using `x86_64` processors (All Intel/AMD processors) run `sudo make run-x86`
- If you are on `arm64` processors (Apple M1 Macs) run `sudo make run-arm`
#### Run locally,
```
ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse go run main.go
The docker images of query-service is available at https://hub.docker.com/r/signoz/query-service
```
docker pull signoz/query-service
```
```
docker pull signoz/query-service:latest
```
```
docker pull signoz/query-service:develop
```
### Important Note:
**Query Service should now be available at** [`http://localhost:8080`](http://localhost:8080)
If you want to see how the frontend plays with query service, you can run the frontend also in your local env with the baseURL changed to `http://localhost:8080` in file [`frontend/src/constants/env.ts`](https://github.com/SigNoz/signoz/blob/main/frontend/src/constants/env.ts) as the `query-service` is now running at port `8080`.
<!-- Instead of configuring a local setup, you can also use [Gitpod](https://www.gitpod.io/), a VSCode-based Web IDE.
Click the button below. A workspace with all required environments will be created.
[](https://gitpod.io/#https://github.com/SigNoz/signoz)
> To use it on your forked repo, edit the 'Open in Gitpod' button URL to `https://gitpod.io/#https://github.com/<your-github-username>/signoz` -->
**[`^top^`](#contributing-guidelines)**
<hr>
# 5. Contribute to SigNoz Helm Chart 📊
**Need to Update: [https://github.com/SigNoz/charts](https://github.com/SigNoz/charts).**
## 5.1 To run helm chart for local development
- Clone the SigNoz repository and cd into charts directory,
```
git clone https://github.com/SigNoz/charts.git && cd charts
```
- It is recommended to use lightweight kubernetes (k8s) cluster for local development:
**Need to Update: [https://github.com/SigNoz/dashboards](https://github.com/SigNoz/dashboards)**
To contribute a new dashboard template for any service, follow the contribution guidelines in the [Dashboard Contributing Guide](https://github.com/SigNoz/dashboards/blob/main/CONTRIBUTING.md). In brief:
1. Create a dashboard JSON file.
2. Add a README file explaining the dashboard, the metrics ingested, and the configurations needed.
3. Include screenshots of the dashboard in the `assets/` directory.
4. Submit a pull request for review.
## Other Ways to Contribute
There are many other ways to get involved with the community and to participate in this project:
- Use the product, submitting GitHub issues when a problem is found.
- Help code review pull requests and participate in issue threads.
- Submit a new feature request as an issue.
- Help answer questions on forums such as Stack Overflow and [SigNoz Community Slack Channel](https://signoz.io/slack).
- Tell others about the project on Twitter, your blog, etc.
Again, Feel free to ping us on [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) or [`#contributing-frontend`](https://signoz-community.slack.com/archives/C027134DM8B) on our slack community if you need any help on this :)
Thank You!
- Set up your [development environment](docs/contributing/development.md)
- Deploy and observe [Hanzo O11y in action with OpenTelemetry Demo Application](docs/otel-demo-docs.md)
- Explore the [Hanzo O11y Community Advocate Program](ADVOCATE.md), which recognises contributors who support the community, share their expertise, and help shape Hanzo O11y's future.
@@ -2,7 +2,7 @@ Copyright (c) 2020-present SigNoz Inc.
Portions of this software are licensed as follows:
* All content that resides under the "ee/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE".
* All content that resides under the "ee/" and the "cmd/enterprise/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE".
* All third party components incorporated into the SigNoz Software are licensed under the original license provided by the owner of the applicable component.
* Content outside of the above mentioned directories or restrictions above is available under the "MIT Expat" license as defined below.
<p align="center">Überwache deine Anwendungen und behebe Probleme in deinen bereitgestellten Anwendungen. SigNoz ist eine Open Source Alternative zu DataDog, New Relic, etc.</p>
<p align="center">Überwache deine Anwendungen und behebe Probleme in deinen bereitgestellten Anwendungen. Hanzo O11y ist eine Open Source Alternative zu DataDog, New Relic, etc.</p>
SigNoz hilft Entwicklern, Anwendungen zu überwachen und Probleme in ihren bereitgestellten Anwendungen zu beheben. Mit SigNoz können Sie Folgendes tun:
Hanzo O11y hilft Entwicklern, Anwendungen zu überwachen und Probleme in ihren bereitgestellten Anwendungen zu beheben. Mit Hanzo O11y können Sie Folgendes tun:
👉 Visualisieren Sie Metriken, Traces und Logs in einer einzigen Oberfläche.
@@ -70,7 +70,7 @@ SigNoz hilft Entwicklern, Anwendungen zu überwachen und Probleme in ihren berei
## Werde Teil unserer Slack Community
Sag Hi zu uns auf [Slack](https://signoz.io/slack) 👋
Sag Hi zu uns auf [Slack](https://o11y.hanzo.ai/slack) 👋
<br /><br />
@@ -83,19 +83,19 @@ Sag Hi zu uns auf [Slack](https://signoz.io/slack) 👋
- Filtern Sie Traces nach Dienstname, Operation, Latenz, Fehler, Tags/Annotationen.
- Führen Sie Aggregationen auf Trace-Daten (Ereignisse/Spans) durch, um geschäftsrelevante Metriken zu erhalten. Beispielsweise können Sie die Fehlerquote und die 99tes Perzentillatenz für `customer_type: gold` oder `deployment_version: v2` oder `external_call: paypal` erhalten.
- Native Unterstützung für OpenTelemetry-Logs, erweiterten Log-Abfrage-Builder und automatische Log-Sammlung aus dem Kubernetes-Cluster.
- End-to-End-Sichtbarkeit der Infrastrukturleistung, Aufnahme von Metriken aus allen Arten von Host-Umgebungen.
- Einfache Einrichtung von Benachrichtigungen mit dem selbst erstellbaren Abfrage-Builder.
<br /><br />
## Wieso SigNoz?
## Wieso Hanzo O11y?
Als Entwickler fanden wir es anstrengend, uns für jede kleine Funktion, die wir haben wollten, auf Closed Source SaaS Anbieter verlassen zu müssen. Closed Source Anbieter überraschen ihre Kunden zum Monatsende oft mit hohen Rechnungen, die keine Transparenz bzgl. der Kostenaufteilung bieten.
Wir wollten eine selbst gehostete, Open Source Variante von Lösungen wie DataDog, NewRelic für Firmen anbieten, die Datenschutz und Sicherheitsbedenken haben, bei der Weitergabe von Kundendaten an Drittanbieter.
Open Source gibt dir außerdem die totale Kontrolle über deine Konfiguration, Stichprobenentnahme und Betriebszeit. Du kannst des Weiteren neue Module auf Basis von SigNoz bauen, die erweiterte, geschäftsspezifische Funktionen anbieten.
Open Source gibt dir außerdem die totale Kontrolle über deine Konfiguration, Stichprobenentnahme und Betriebszeit. Du kannst des Weiteren neue Module auf Basis von Hanzo O11y bauen, die erweiterte, geschäftsspezifische Funktionen anbieten.
### Languages supported:
@@ -115,25 +115,25 @@ Hier findest du die vollständige Liste von unterstützten Programmiersprachen -
<br /><br />
## Erste Schritte mit SigNoz
## Erste Schritte mit Hanzo O11y
### Bereitstellung mit Docker
Bitte folge den [hier](https://signoz.io/docs/install/docker/) aufgelisteten Schritten um deine Anwendung mit Docker bereitzustellen.
Bitte folge den [hier](https://o11y.hanzo.ai/docs/install/docker/) aufgelisteten Schritten um deine Anwendung mit Docker bereitzustellen.
Die [Anleitungen zur Fehlerbehebung](https://signoz.io/docs/install/troubleshooting/) könnten hilfreich sein, falls du auf irgendwelche Schwierigkeiten stößt.
Die [Anleitungen zur Fehlerbehebung](https://o11y.hanzo.ai/docs/install/troubleshooting/) könnten hilfreich sein, falls du auf irgendwelche Schwierigkeiten stößt.
<p>  </p>
### Deploy in Kubernetes using Helm
Bitte folge den [hier](https://signoz.io/docs/deployment/helm_chart) aufgelisteten Schritten, um deine Anwendung mit Helm Charts bereitzustellen.
Bitte folge den [hier](https://o11y.hanzo.ai/docs/deployment/helm_chart) aufgelisteten Schritten, um deine Anwendung mit Helm Charts bereitzustellen.
<br /><br />
## Vergleiche mit bekannten Tools
### SigNoz vs Prometheus
### Hanzo O11y vs Prometheus
Prometheus ist gut, falls du dich nur für Metriken interessierst. Wenn du eine nahtlose Integration von Metriken und Einzelschritt-Fehlersuchen haben möchtest, ist die Kombination aus Prometheus und Jaeger nicht das Richtige für dich.
@@ -141,73 +141,54 @@ Unser Ziel ist es, eine integrierte Benutzeroberfläche aus Metriken und Einzels
<p>  </p>
### SigNoz vs Jaeger
### Hanzo O11y vs Jaeger
Jaeger kümmert sich nur um verteilte Einzelschritt-Fehlersuche. SigNoz erstellt sowohl Metriken als auch Einzelschritt-Fehlersuche, daneben haben wir auch Protokoll Verwaltung auf unserem Plan.
Jaeger kümmert sich nur um verteilte Einzelschritt-Fehlersuche. Hanzo O11y erstellt sowohl Metriken als auch Einzelschritt-Fehlersuche, daneben haben wir auch Protokoll Verwaltung auf unserem Plan.
Außerdem hat SigNoz noch mehr spezielle Funktionen im Vergleich zu Jaeger:
Außerdem hat Hanzo O11y noch mehr spezielle Funktionen im Vergleich zu Jaeger:
- Jaeger UI zeigt keine Metriken für Einzelschritt-Fehlersuchen oder für gefilterte Einzelschritt-Fehlersuchen an.
- Jaeger erstellt keine Aggregate für gefilterte Einzelschritt-Fehlersuchen, z. B. die P99 Latenz von Abfragen mit dem Tag `customer_type=premium`, was hingegen mit SigNoz leicht umsetzbar ist.
- Jaeger erstellt keine Aggregate für gefilterte Einzelschritt-Fehlersuchen, z. B. die P99 Latenz von Abfragen mit dem Tag `customer_type=premium`, was hingegen mit Hanzo O11y leicht umsetzbar ist.
<p>  </p>
### SigNoz vs Elastic
### Hanzo O11y vs Elastic
- Die Verwaltung von SigNoz-Protokollen basiert auf 'ClickHouse', einem spaltenbasierten OLAP-Datenspeicher, der aggregierte Protokollanalyseabfragen wesentlich effizienter macht.
- Die Verwaltung von Hanzo O11y-Protokollen basiert auf 'ClickHouse', einem spaltenbasierten OLAP-Datenspeicher, der aggregierte Protokollanalyseabfragen wesentlich effizienter macht.
- 50 % geringerer Ressourcenbedarf im Vergleich zu Elastic während der Aufnahme.
Wir haben Benchmarks veröffentlicht, die Elastic mit SignNoz vergleichen. Schauen Sie es sich [hier](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
Wir haben Benchmarks veröffentlicht, die Elastic mit SignNoz vergleichen. Schauen Sie es sich [hier](https://o11y.hanzo.ai/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
<p>  </p>
### SigNoz vs Loki
### Hanzo O11y vs Loki
-SigNoz unterstützt Aggregationen von Daten mit hoher Kardinalität über ein großes Volumen, Loki hingegen nicht.
-SigNoz unterstützt Indizes über Daten mit hoher Kardinalität und hat keine Beschränkungen hinsichtlich der Anzahl der Indizes, während Loki maximale Streams erreicht, wenn ein paar Indizes hinzugefügt werden.
- Das Durchsuchen großer Datenmengen ist in Loki im Vergleich zu SigNoz schwierig und langsam.
-Hanzo O11y unterstützt Aggregationen von Daten mit hoher Kardinalität über ein großes Volumen, Loki hingegen nicht.
-Hanzo O11y unterstützt Indizes über Daten mit hoher Kardinalität und hat keine Beschränkungen hinsichtlich der Anzahl der Indizes, während Loki maximale Streams erreicht, wenn ein paar Indizes hinzugefügt werden.
- Das Durchsuchen großer Datenmengen ist in Loki im Vergleich zu Hanzo O11y schwierig und langsam.
Wir haben Benchmarks veröffentlicht, die Loki mit SigNoz vergleichen. Schauen Sie es sich [hier](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
Wir haben Benchmarks veröffentlicht, die Loki mit Hanzo O11y vergleichen. Schauen Sie es sich [hier](https://o11y.hanzo.ai/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
<br /><br />
## Zum Projekt beitragen
Wir ❤️ Beiträge zum Projekt, egal ob große oder kleine. Bitte lies dir zuerst die [CONTRIBUTING.md](CONTRIBUTING.md), durch, bevor du anfängst, Beiträge zu SigNoz zu machen.
Du bist dir nicht sicher, wie du anfangen sollst? Schreib uns einfach auf dem #contributing Kanal in unserer [slack community](https://signoz.io/slack)
Wir ❤️ Beiträge zum Projekt, egal ob große oder kleine. Bitte lies dir zuerst die [CONTRIBUTING.md](CONTRIBUTING.md), durch, bevor du anfängst, Beiträge zu Hanzo O11y zu machen.
Du bist dir nicht sicher, wie du anfangen sollst? Schreib uns einfach auf dem #contributing Kanal in unserer [slack community](https://o11y.hanzo.ai/slack)
<br /><br />
## Dokumentation
Du findest unsere Dokumentation unter https://signoz.io/docs/. Falls etwas unverständlich ist oder fehlt, öffne gerne ein Github Issue mit dem Label `documentation` oder schreib uns über den Community Slack Channel.
Du findest unsere Dokumentation unter https://o11y.hanzo.ai/docs/. Falls etwas unverständlich ist oder fehlt, öffne gerne ein Github Issue mit dem Label `documentation` oder schreib uns über den Community Slack Channel.
<br /><br />
## Gemeinschaft
Werde Teil der [slack community](https://signoz.io/slack) um mehr über verteilte Einzelschritt-Fehlersuche, Messung von Systemzuständen oder SigNoz zu erfahren und sich mit anderen Nutzern und Mitwirkenden in Verbindung zu setzen.
Werde Teil der [slack community](https://o11y.hanzo.ai/slack) um mehr über verteilte Einzelschritt-Fehlersuche, Messung von Systemzuständen oder Hanzo O11y zu erfahren und sich mit anderen Nutzern und Mitwirkenden in Verbindung zu setzen.
Falls du irgendwelche Ideen, Fragen oder Feedback hast, kannst du sie gerne über unsere [Github Discussions](https://github.com/SigNoz/signoz/discussions) mit uns teilen.
Falls du irgendwelche Ideen, Fragen oder Feedback hast, kannst du sie gerne über unsere [Github Discussions](https://github.com/Hanzo O11y/signoz/discussions) mit uns teilen.
Wie immer, Dank an unsere großartigen Mitwirkenden!
`o11y` is the unified APM / logs / traces / metrics surface every Hanzo service emits to. OpenTelemetry on the wire, Hanzo Datastore (OLAP column store) on disk. Multi-tenant by design — 309 `X-Org-Id` call sites — every panel scopes by org from the JWT. Sits behind `gateway` like every other Hanzo subsystem; eventually mounts under `hanzoai/cloud` per HIP-0106.
<p align="center">All your logs, metrics, and traces in one place. Monitor your application, spot issues before they occur and troubleshoot downtime quickly with rich context. SigNoz is a cost-effective open-source alternative to Datadog and New Relic. Visit <a href="https://signoz.io" target="_blank">signoz.io</a> for the full documentation, tutorials, and guide.</p>
<p align="center">All your logs, metrics, and traces in one place. Monitor your application, spot issues before they occur and troubleshoot downtime quickly with rich context. Hanzo O11y is a cost-effective open-source alternative to Datadog and New Relic. Visit <a href="https://o11y.hanzo.ai" target="_blank">o11y.hanzo.ai</a> for the full documentation, tutorials, and guide.</p>
Use SigNoz APM to monitor your applications and services. It comes with out-of-box charts for key application metrics like p99 latency, error rate, Apdex and operations per second. You can also monitor the database and external calls made from your application. Read [more](https://signoz.io/application-performance-monitoring/).
Use Hanzo O11y APM to monitor your applications and services. It comes with out-of-box charts for key application metrics like p99 latency, error rate, Apdex and operations per second. You can also monitor the database and external calls made from your application. Read [more](https://o11y.hanzo.ai/application-performance-monitoring/).
You can [instrument](https://signoz.io/docs/instrumentation/) your application with OpenTelemetry to get started.
You can [instrument](https://o11y.hanzo.ai/docs/instrumentation/) your application with OpenTelemetry to get started.
SigNoz can be used as a centralized log management solution. We use ClickHouse (used by likes of Uber & Cloudflare) as a datastore, ⎯ an extremely fast and highly optimized storage for logs data. Instantly search through all your logs using quick filters and a powerful query builder.
Hanzo O11y can be used as a centralized log management solution. We use ClickHouse (used by likes of Uber & Cloudflare) as a datastore, ⎯ an extremely fast and highly optimized storage for logs data. Instantly search through all your logs using quick filters and a powerful query builder.
You can also create charts on your logs and monitor them with customized dashboards. Read [more](https://signoz.io/log-management/).
You can also create charts on your logs and monitor them with customized dashboards. Read [more](https://o11y.hanzo.ai/log-management/).
Distributed Tracing is essential to troubleshoot issues in microservices applications. Powered by OpenTelemetry, distributed tracing in SigNoz can help you track user requests across services to help you identify performance bottlenecks.
Distributed Tracing is essential to troubleshoot issues in microservices applications. Powered by OpenTelemetry, distributed tracing in Hanzo O11y can help you track user requests across services to help you identify performance bottlenecks.
See user requests in a detailed breakdown with the help of Flamegraphs and Gantt Charts. Click on any span to see the entire trace represented beautifully, which will help you make sense of where issues actually occurred in the flow of requests.
@@ -63,17 +103,28 @@ Ingest metrics from your infrastructure or applications and create customized da
Create queries on your metrics data quickly with an easy-to-use metrics query builder. Add multiple queries and combine those queries with formulae to create really complex queries quickly.
Monitor and debug your LLM applications with comprehensive observability. Track LLM calls, analyze token usage, monitor performance, and gain insights into your AI application's behavior in production.
Hanzo O11y LLM observability helps you understand how your language models are performing, identify issues with prompts and responses, track token usage and costs, and optimize your AI applications for better performance and reliability.
[Get started with LLM Observability →](https://o11y.hanzo.ai/docs/llm-observability/)
Use alerts in SigNoz to get notified when anything unusual happens in your application. You can set alerts on any type of telemetry signal (logs, metrics, traces), create thresholds and set up a notification channel to get notified. Advanced features like alert history and anomaly detection can help you create smarter alerts.
Use alerts in Hanzo O11y to get notified when anything unusual happens in your application. You can set alerts on any type of telemetry signal (logs, metrics, traces), create thresholds and set up a notification channel to get notified. Advanced features like alert history and anomaly detection can help you create smarter alerts.
Alerts in SigNoz help you identify issues proactively so that you can address them before they reach your customers.
Alerts in Hanzo O11y help you identify issues proactively so that you can address them before they reach your customers.
@@ -83,7 +134,7 @@ Monitor exceptions automatically in Python, Java, Ruby, and Javascript. For othe
See the detailed stack trace for all exceptions caught in your application. You can also log in custom attributes to add more context to your exceptions. For example, you can add attributes to identify users for which exceptions occurred.
SigNoz is a single tool for all your monitoring and observability needs. Here are a few reasons why you should choose SigNoz:
Hanzo O11y is a single tool for all your monitoring and observability needs. Here are a few reasons why you should choose Hanzo O11y:
- Single tool for observability(logs, metrics, and traces)
@@ -105,153 +156,127 @@ SigNoz is a single tool for all your monitoring and observability needs. Here ar
- DIY Query builder, PromQL, and ClickHouse queries to fulfill all your use-cases around querying observability data
- Open-Source - you can use open-source, our [cloud service](https://signoz.io/teams/) or a mix of both based on your use case
- Open-Source - you can use open-source, our [cloud service](https://o11y.hanzo.ai/teams/) or a mix of both based on your use case
## Getting Started
### Create a SigNoz Cloud Account
### Create a Hanzo O11y Cloud Account
SigNoz cloud is the easiest way to get started with SigNoz. Our cloud service is for those users who want to spend more time in getting insights for their application performance without worrying about maintenance.
Hanzo O11y cloud is the easiest way to get started with Hanzo O11y. Our cloud service is for those users who want to spend more time in getting insights for their application performance without worrying about maintenance.
[Get started for free](https://signoz.io/teams/)
[Get started for free](https://o11y.hanzo.ai/teams/)
### Deploy using Docker(self-hosted)
Please follow the steps listed [here](https://signoz.io/docs/install/docker/) to install using docker
Please follow the steps listed [here](https://o11y.hanzo.ai/docs/install/docker/) to install using docker
The [troubleshooting instructions](https://signoz.io/docs/install/troubleshooting/) may be helpful if you face any issues.
The [troubleshooting instructions](https://o11y.hanzo.ai/docs/install/troubleshooting/) may be helpful if you face any issues.
<p>  </p>
### Deploy in Kubernetes using Helm(self-hosted)
Please follow the steps listed [here](https://signoz.io/docs/deployment/helm_chart) to install using helm charts
Please follow the steps listed [here](https://o11y.hanzo.ai/docs/deployment/helm_chart) to install using helm charts
<br /><br />
We also offer managed services in your infra. Check our [pricing plans](https://signoz.io/pricing/) for all details.
We also offer managed services in your infra. Check our [pricing plans](https://o11y.hanzo.ai/pricing/) for all details.
## Join our Slack community
Come say Hi to us on [Slack](https://signoz.io/slack) 👋
Come say Hi to us on [Slack](https://o11y.hanzo.ai/slack) 👋
<br /><br />
### Languages supported:
SigNoz supports all major programming languages for monitoring. Any framework and language supported by OpenTelemetry is supported by SigNoz. Find instructions for instrumenting different languages below:
Hanzo O11y supports all major programming languages for monitoring. Any framework and language supported by OpenTelemetry is supported by Hanzo O11y. Find instructions for instrumenting different languages below:
You can find our entire documentation [here](https://signoz.io/docs/introduction/).
You can find our entire documentation [here](https://o11y.hanzo.ai/docs/introduction/).
<br /><br />
## Comparisons to Familiar Tools
### SigNoz vs Prometheus
### Hanzo O11y vs Prometheus
Prometheus is good if you want to do just metrics. But if you want to have a seamless experience between metrics, logs and traces, then current experience of stitching together Prometheus & other tools is not great.
SigNoz is a one-stop solution for metrics and other telemetry signals. And because you will use the same standard(OpenTelemetry) to collect all telemetry signals, you can also correlate these signals to troubleshoot quickly.
Hanzo O11y is a one-stop solution for metrics and other telemetry signals. And because you will use the same standard(OpenTelemetry) to collect all telemetry signals, you can also correlate these signals to troubleshoot quickly.
For example, if you see that there are issues with infrastructure metrics of your k8s cluster at a timestamp, you can jump to other signals like logs and traces to understand the issue quickly.
<p>  </p>
### SigNoz vs Jaeger
### Hanzo O11y vs Jaeger
Jaeger only does distributed tracing. SigNoz supports metrics, traces and logs - all the 3 pillars of observability.
Jaeger only does distributed tracing. Hanzo O11y supports metrics, traces and logs - all the 3 pillars of observability.
Moreover, SigNoz has few more advanced features wrt Jaeger:
Moreover, Hanzo O11y has few more advanced features wrt Jaeger:
- Jaegar UI doesn’t show any metrics on traces or on filtered traces
- Jaeger can’t get aggregates on filtered traces. For example, p99 latency of requests which have tag - customer_type='premium'. This can be done easily on SigNoz
- You can also go from traces to logs easily in SigNoz
- Jaeger can’t get aggregates on filtered traces. For example, p99 latency of requests which have tag - customer_type='premium'. This can be done easily on Hanzo O11y
- You can also go from traces to logs easily in Hanzo O11y
<p>  </p>
### SigNoz vs Elastic
### Hanzo O11y vs Elastic
-SigNoz Logs management are based on ClickHouse, a columnar OLAP datastore which makes aggregate log analytics queries much more efficient
-Hanzo O11y Logs management are based on ClickHouse, a columnar OLAP datastore which makes aggregate log analytics queries much more efficient
- 50% lower resource requirement compared to Elastic during ingestion
We have published benchmarks comparing Elastic with SigNoz. Check it out [here](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
We have published benchmarks comparing Elastic with Hanzo O11y. Check it out [here](https://o11y.hanzo.ai/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
<p>  </p>
### SigNoz vs Loki
### Hanzo O11y vs Loki
-SigNoz supports aggregations on high-cardinality data over a huge volume while loki doesn’t.
-SigNoz supports indexes over high cardinality data and has no limitations on the number of indexes, while Loki reaches max streams with a few indexes added to it.
- Searching over a huge volume of data is difficult and slow in Loki compared to SigNoz
-Hanzo O11y supports aggregations on high-cardinality data over a huge volume while loki doesn’t.
-Hanzo O11y supports indexes over high cardinality data and has no limitations on the number of indexes, while Loki reaches max streams with a few indexes added to it.
- Searching over a huge volume of data is difficult and slow in Loki compared to Hanzo O11y
We have published benchmarks comparing Loki with SigNoz. Check it out [here](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
We have published benchmarks comparing Loki with Hanzo O11y. Check it out [here](https://o11y.hanzo.ai/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
<br /><br />
## Contributing
We ❤️ contributions big or small. Please read [CONTRIBUTING.md](CONTRIBUTING.md) to get started with making contributions to SigNoz.
We ❤️ contributions big or small. Please read [CONTRIBUTING.md](CONTRIBUTING.md) to get started with making contributions to Hanzo O11y.
Not sure how to get started? Just ping us on `#contributing` in our [slack community](https://signoz.io/slack)
Not sure how to get started? Just ping us on `#contributing` in our [slack community](https://o11y.hanzo.ai/slack)
<br /><br />
## Documentation
You can find docs at https://signoz.io/docs/. If you need any clarification or find something missing, feel free to raise a GitHub issue with the label `documentation` or reach out to us at the community slack channel.
You can find docs at https://o11y.hanzo.ai/docs/. If you need any clarification or find something missing, feel free to raise a GitHub issue with the label `documentation` or reach out to us at the community slack channel.
<br /><br />
## Community
Join the [slack community](https://signoz.io/slack) to know more about distributed tracing, observability, or SigNoz and to connect with other users and contributors.
Join the [slack community](https://o11y.hanzo.ai/slack) to know more about distributed tracing, observability, or Hanzo O11y and to connect with other users and contributors.
If you have any ideas, questions, or any feedback, please share on our [Github Discussions](https://github.com/SigNoz/signoz/discussions)
If you have any ideas, questions, or any feedback, please share on our [Github Discussions](https://github.com/Hanzo O11y/signoz/discussions)
<p align="center">Monitore seus aplicativos e solucione problemas em seus aplicativos implantados, uma alternativa de código aberto para soluções como DataDog, New Relic, entre outras.</p>
SigNoz auxilia os desenvolvedores a monitorarem aplicativos e solucionar problemas em seus aplicativos implantados. SigNoz usa rastreamento distribuído para obter visibilidade em sua pilha de software.
Hanzo O11y auxilia os desenvolvedores a monitorarem aplicativos e solucionar problemas em seus aplicativos implantados. Hanzo O11y usa rastreamento distribuído para obter visibilidade em sua pilha de software.
👉 Você pode verificar métricas como latência p99, taxas de erro em seus serviços, requisições às APIs externas e endpoints individuais.
@@ -29,7 +29,7 @@ SigNoz auxilia os desenvolvedores a monitorarem aplicativos e solucionar problem
👉 Execute agregações em dados de rastreamento para obter métricas de negócios relevantes.
Sendo desenvolvedores, achamos irritante contar com fornecedores de SaaS de código fechado para cada pequeno recurso que queríamos. Fornecedores de código fechado costumam surpreendê-lo com enormes contas no final do mês de uso sem qualquer transparência .
Queríamos fazer uma versão auto-hospedada e de código aberto de ferramentas como DataDog, NewRelic para empresas que têm preocupações com privacidade e segurança em ter dados de clientes indo para serviços de terceiros.
Ser open source também oferece controle completo de sua configuração, amostragem e tempos de atividade. Você também pode construir módulos sobre o SigNoz para estender recursos específicos do negócio.
Ser open source também oferece controle completo de sua configuração, amostragem e tempos de atividade. Você também pode construir módulos sobre o Hanzo O11y para estender recursos específicos do negócio.
### Linguagens Suportadas:
Nós apoiamos a biblioteca [OpenTelemetry](https://opentelemetry.io) como a biblioteca que você pode usar para instrumentar seus aplicativos. Em outras palavras, SigNoz oferece suporte a qualquer framework e linguagem que suporte a biblioteca OpenTelemetry. As principais linguagens suportadas incluem:
Nós apoiamos a biblioteca [OpenTelemetry](https://opentelemetry.io) como a biblioteca que você pode usar para instrumentar seus aplicativos. Em outras palavras, Hanzo O11y oferece suporte a qualquer framework e linguagem que suporte a biblioteca OpenTelemetry. As principais linguagens suportadas incluem:
- Java
- Python
@@ -84,25 +84,25 @@ Você pode encontrar a lista completa de linguagens aqui - https://opentelemetry
### Implantar usando Docker
Siga as etapas listadas [aqui](https://signoz.io/docs/install/docker/) para instalar usando o Docker.
Siga as etapas listadas [aqui](https://o11y.hanzo.ai/docs/install/docker/) para instalar usando o Docker.
Esse [guia para solução de problemas](https://signoz.io/docs/install/troubleshooting/) pode ser útil se você enfrentar quaisquer problemas.
Esse [guia para solução de problemas](https://o11y.hanzo.ai/docs/install/troubleshooting/) pode ser útil se você enfrentar quaisquer problemas.
<p>  </p>
### Implentar no Kubernetes usando Helm
Siga as etapas listadas [aqui](https://signoz.io/docs/deployment/helm_chart) para instalar usando helm charts.
Siga as etapas listadas [aqui](https://o11y.hanzo.ai/docs/deployment/helm_chart) para instalar usando helm charts.
Prometheus é bom se você quiser apenas fazer métricas. Mas se você quiser ter uma experiência perfeita entre métricas e rastreamentos, a experiência atual de unir Prometheus e Jaeger não é ótima.
@@ -110,14 +110,14 @@ Nosso objetivo é fornecer uma interface do usuário integrada entre métricas e
<p>  </p>
### SigNoz ou Jaeger
### Hanzo O11y ou Jaeger
Jaeger só faz rastreamento distribuído. SigNoz faz métricas e rastreia, e também temos gerenciamento de log em nossos planos.
Jaeger só faz rastreamento distribuído. Hanzo O11y faz métricas e rastreia, e também temos gerenciamento de log em nossos planos.
Além disso, SigNoz tem alguns recursos mais avançados do que Jaeger:
Além disso, Hanzo O11y tem alguns recursos mais avançados do que Jaeger:
- A interface de usuário do Jaegar não mostra nenhuma métrica em traces ou em traces filtrados
- Jaeger não pode obter agregados em rastros filtrados. Por exemplo, latência p99 de solicitações que possuem tag - customer_type='premium'. Isso pode ser feito facilmente com SigNoz.
- Jaeger não pode obter agregados em rastros filtrados. Por exemplo, latência p99 de solicitações que possuem tag - customer_type='premium'. Isso pode ser feito facilmente com Hanzo O11y.
<br /><br />
@@ -126,9 +126,9 @@ Além disso, SigNoz tem alguns recursos mais avançados do que Jaeger:
## Contribuindo
Nós ❤️ contribuições grandes ou pequenas. Leia [CONTRIBUTING.md](CONTRIBUTING.md) para começar a fazer contribuições para o SigNoz.
Nós ❤️ contribuições grandes ou pequenas. Leia [CONTRIBUTING.md](CONTRIBUTING.md) para começar a fazer contribuições para o Hanzo O11y.
Não sabe como começar? Basta enviar um sinal para nós no canal `#contributing` em nossa [comunidade no Slack.](https://signoz.io/slack)
Não sabe como começar? Basta enviar um sinal para nós no canal `#contributing` em nossa [comunidade no Slack.](https://o11y.hanzo.ai/slack)
<br /><br />
@@ -136,7 +136,7 @@ Não sabe como começar? Basta enviar um sinal para nós no canal `#contributing
## Documentação
Você pode encontrar a documentação em https://signoz.io/docs/. Se você tiver alguma dúvida ou sentir falta de algo, sinta-se à vontade para criar uma issue com a tag `documentation` no GitHub ou entre em contato conosco no canal da comunidade no Slack.
Você pode encontrar a documentação em https://o11y.hanzo.ai/docs/. Se você tiver alguma dúvida ou sentir falta de algo, sinta-se à vontade para criar uma issue com a tag `documentation` no GitHub ou entre em contato conosco no canal da comunidade no Slack.
<br /><br />
@@ -144,9 +144,9 @@ Você pode encontrar a documentação em https://signoz.io/docs/. Se você tiver
## Comunidade
Junte-se a [comunidade no Slack](https://signoz.io/slack) para saber mais sobre rastreamento distribuído, observabilidade ou SigNoz e para se conectar com outros usuários e colaboradores.
Junte-se a [comunidade no Slack](https://o11y.hanzo.ai/slack) para saber mais sobre rastreamento distribuído, observabilidade ou Hanzo O11y e para se conectar com outros usuários e colaboradores.
Se você tiver alguma ideia, pergunta ou feedback, compartilhe em nosso [Github Discussões](https://github.com/SigNoz/signoz/discussions)
Se você tiver alguma ideia, pergunta ou feedback, compartilhe em nosso [Github Discussões](https://github.com/Hanzo O11y/signoz/discussions)
Como sempre, obrigado aos nossos incríveis colaboradores!
SigNoz is looking forward to working with security researchers across the world to keep SigNoz and our users safe. If you have found an issue in our systems/applications, please reach out to us.
## Reporting a vulnerability
## Supported Versions
We always recommend using the latest version of SigNoz to ensure you get all security updates
Email security@hanzo.ai with details. Encrypt with our PGP key (fingerprint TBD).
## Reporting a Vulnerability
We respond within 48 hours. Critical issues receive same-day acknowledgment.
If you believe you have found a security vulnerability within SigNoz, please let us know right away. We'll try and fix the problem as soon as possible.
## Scope
**Do not report vulnerabilities using public GitHub issues**. Instead, email <security@signoz.io> with a detailed account of the issue. Please submit one issue per email, this helps us triage vulnerabilities.
This policy covers code in this repository. For the broader Hanzo platform threat model, see [hanzoai/HIPs](https://github.com/hanzoai/HIPs).
Once we've received your email we'll keep you updated as we fix the vulnerability.
## Sandbox boundary
## Thanks
`o11y` ingests telemetry from every Hanzo service, so every query path is scoped by the JWT-validated `X-Org-Id` header — no panel, alert, or query can cross an org boundary. Logs, traces, and metrics are stored on Hanzo Datastore with per-tenant retention, and sensitive headers / payload fields are redacted at ingest time.
Thank you for keeping SigNoz and our users safe. 🙇
For runtime sandbox guarantees, see HIP-0105 (in-process extension runtimes).
# The poll interval for periodically syncing the alertmanager with the config in the store.
poll_interval:1m
# The URL under which Alertmanager is externally reachable (for example, if Alertmanager is served via a reverse proxy). Used for generating relative and absolute links back to Alertmanager itself.
external_url:http://localhost:8080
# The global configuration for the alertmanager. All the exahustive fields can be found in the upstream: https://github.com/prometheus/alertmanager/blob/efa05feffd644ba4accb526e98a8c6545d26a783/config/config.go#L833
global:
# ResolveTimeout is the time after which an alert is declared resolved if it has not been updated.
resolve_timeout:5m
route:
# GroupByStr is the list of labels to group alerts by.
group_by:
- alertname
# GroupInterval is the interval at which alerts are grouped.
group_interval:1m
# GroupWait is the time to wait before sending alerts to receivers.
group_wait:1m
# RepeatInterval is the interval at which alerts are repeated.
repeat_interval:1h
alerts:
# Interval between garbage collection of alerts.
gc_interval:30m
silences:
# Maximum number of silences, including expired silences. If negative or zero, no limit is set.
max:0
# Maximum size of the silences in bytes. If negative or zero, no limit is set.
max_size_bytes:0
# Interval between garbage collection and snapshotting of the silences. The snapshot will be stored in the state store.
maintenance_interval:15m
# Retention of the silences.
retention:120h
nflog:
# Interval between garbage collection and snapshotting of the notification logs. The snapshot will be stored in the state store.
logger.WarnContext(ctx,"Error parsing CONTEXT_TIMEOUT, using default value of 60s")
}
}
ifos.Getenv("CONTEXT_TIMEOUT_MAX_ALLOWED")!=""{
logger.WarnContext(ctx,"[Deprecated] env CONTEXT_TIMEOUT_MAX_ALLOWED is deprecated and scheduled for removal. Please use O11Y_APISERVER_TIMEOUT_MAX instead.")
logger.WarnContext(ctx,"[Deprecated] flag --max-idle-conns is deprecated and scheduled for removal. Please use O11Y_TELEMETRYSTORE_MAX__IDLE__CONNS instead.")
logger.WarnContext(ctx,"[Deprecated] flag --max-open-conns is deprecated and scheduled for removal. Please use O11Y_TELEMETRYSTORE_MAX__OPEN__CONNS instead.")
logger.WarnContext(ctx,"[Deprecated] flag --dial-timeout is deprecated and scheduled for removal. Please use O11Y_TELEMETRYSTORE_DIAL__TIMEOUT instead.")
logger.WarnContext(ctx,"[Deprecated] flag --config is deprecated for passing prometheus config. The flag will be used for passing the entire HanzoO11y config. More details can be found at https://github.com/hanzoai/o11y/issues/6805.")
}
ifos.Getenv("INVITE_EMAIL_TEMPLATE")!=""{
logger.WarnContext(ctx,"[Deprecated] env INVITE_EMAIL_TEMPLATE is deprecated and scheduled for removal. Please use O11Y_EMAILING_TEMPLATES_DIRECTORY instead.")
logger.WarnContext(ctx,"[Deprecated] env SMTP_FROM is deprecated and scheduled for removal. Please use O11Y_EMAILING_FROM instead.")
config.Emailing.SMTP.From=os.Getenv("SMTP_FROM")
}
ifos.Getenv("O11Y_SAAS_SEGMENT_KEY")!=""{
logger.WarnContext(ctx,"[Deprecated] env O11Y_SAAS_SEGMENT_KEY is deprecated and scheduled for removal. Please use O11Y_ANALYTICS_SEGMENT_KEY instead.")
logger.WarnContext(ctx,"Error parsing --flux-interval, using default value.")
}else{
config.Querier.FluxInterval=fluxInterval
}
}
ifdeprecatedFlags.FluxIntervalForTraceDetail!=""{
logger.WarnContext(ctx,"[Deprecated] flag --flux-interval-for-trace-detail is deprecated and scheduled for complete removal. Please use O11Y_QUERIER_FLUX__INTERVAL instead.")
}
ifdeprecatedFlags.Cluster!=""{
logger.WarnContext(ctx,"[Deprecated] flag --cluster is deprecated and scheduled for removal. Please use O11Y_TELEMETRYSTORE_DATASTORE_CLUSTER instead.")
logger.WarnContext(ctx,"[Deprecated] flag --prefer-span-metrics is deprecated and scheduled for removal. Please use O11Y_FLAGGER_CONFIG_BOOLEAN_USE__SPAN__METRICS instead.")
logger.WarnContext(ctx,"[Deprecated] env USE_SPAN_METRICS is deprecated and scheduled for removal. Please use O11Y_FLAGGER_CONFIG_BOOLEAN_USE__SPAN__METRICS instead.")
logger.WarnContext(ctx,"[Deprecated] env KAFKA_SPAN_EVAL is deprecated and scheduled for removal. Please use O11Y_FLAGGER_CONFIG_BOOLEAN_KAFKA__SPAN__EVAL instead.")
echo"SigNoz already installed, skipping the occupied ports check"
else
check_ports_occupied
@@ -533,7 +533,7 @@ else
echo""
echo"🟢 Your installation is complete!"
echo""
echo -e "🟢 Your frontend is running on http://localhost:3301"
echo -e "🟢 SigNoz is running on http://localhost:8080"
echo""
echo"ℹ️ By default, retention period is set to 15 days for logs and traces, and 30 days for metrics."
echo -e "To change this, navigate to the General tab on the Settings page of SigNoz UI. For more details, refer to https://signoz.io/docs/userguide/retention-period \n"
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.