mirror of
https://github.com/SigNoz/signoz.git
synced 2026-06-25 09:30:31 +01:00
a023c8ed4a96e2876e2a052d03fbd8656dadcd82
389 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
65cdf8b74d | feat(user): add delete user API (#11833) | ||
|
|
ad243b88aa |
feat: send all data for trace list api (#10583)
* chore: send all data for trace list api * chore: add integration tests * chore: fix tests * chore: add comment Co-authored-by: Tushar Vats <tushar@signoz.io> * fix: retain existing behaviour * fix: add changes * fix: linting issues * fix: py-fmt * fix: restrict merging to only span data * fix: address comments * fix: address comments * fix: send parsed events and links * fix: remove unnecessary tests * fix: lint issues * fix: send all data for trace operators as well * fix: lint issues * fix: move tests to the same file * fix: tests * fix: lint * fix: comment * fix: lint --------- Co-authored-by: Tushar Vats <tushar@signoz.io> |
||
|
|
a98b84c1cd |
feat(user): accept custom roles in user invite (#11802)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat(user): accept custom roles in user invite * feat(user): use binding package * feat(user): more domain restrictions * feat(user): use suggestions * feat(user): use suggestions * feat(user): use pointer postable role |
||
|
|
5600576722 | chore: add search and override filters in pricing model list api (#11735) | ||
|
|
f84b818552 |
feat(authz): add unified role APIs (#11798)
* feat(authz): add unified role APIs * feat(authz): update openapi spec * feat(authz): restructure the chunked write to the openfga server * feat(authz): fix the order for minimal gitdiff * feat(authz): update openapi spec * feat(authz): fix the create API * feat(authz): better error messages |
||
|
|
9150c2ac87 |
feat: introduce dashboard views for list dashboards page (#11465)
* feat: functional unique index in sql schema * fix: only ascii in regex * fix: use sync tags method in update * fix: use sync tags method in update * fix: correct the method name being called * chore: rename create method to createOrGet * chore: use tagtypestest package for mock store * chore: combine functional unique index with unique index * chore: move tag resolution to module * test: add unit tests for new idx type * feat: delete dashboard v2 API * chore: comment out tags unique index for now * chore: add a todo comment * chore: comment out unique index test * feat: add created at to tag relations * chore: comment out unique index test * chore: bump migration number * chore: remove uploaded grafana flag from metadata * Merge branch 'main' into nv/v2-dashboard-create * chore: revert idx generation to resolve conflicts * fix: use store.RunInTx instead of taking in sqlstore * fix: use binding package to get request * chore: move NewDashboardV2 to NewDashboardV2WithoutTags * chore: rename module to m * fix: add ctx needed in sqlstore * fix: remove sqlstore passage in ee pkg * chore: change dashboardData to dashboardSpec * feat: follow the metadata+spec key structure * feat: follow the metadata+spec key structure in open api spec * feat: v2 dashboard GET API (#11136) * feat: v2 dashboard GET API * Merge branch 'nv/v2-dashboard-create' into nv/v2-dashboard-get * chore: update api specs * fix: remove soft delete references * chore: embed StorableDashboard into joinedRow in store method * fix: fix build error * chore: revert all frontend changes * fix: remove public dashboard from get v2 call * chore: revert all frontend changes * fix: fix build errors post merge conflict resolution * feat: lock, unlock, create public, update public v2 dashboard APIs (#11167) * feat: lock, unlock, create public, update public v2 dashboard APIs * chore: update api specs * fix: use new pattern of checking for admin permission * fix: remove soft delete reference * chore: revert all frontend changes * fix: fix build errors and remove v2 create/update public apis * chore: use v1 methods wherever possible * fix: use update v2 store method * chore: update frontend schema * chore: update frontend schema * chore: generate api specs * chore: generate api specs * feat: patch dashboard api (#11182) * feat: lock, unlock, create public, update public v2 dashboard APIs * feat: delete dashboard v2 API and hard delete cron job * feat: patch dashboard api * chore: update api specs * chore: update api specs * chore: update api specs * chore: remove delete related work * fix: add examples of structs for value param in param description * test: unit test fixes * fix: use new pattern of checking for admin permission * fix: remove soft delete reference * test: key value tags in test * fix: build error in patch module method * fix: build error in Apply method * fix: use sync tags method in update * fix: fix build errors * fix: fix all patch application tests * chore: add more mapper methods * fix: fix build errors * chore: generate api specs * fix: update migration numbering * fix: add missing request struct in list api * fix: remove hasMore from list response * chore: bump migration number * fix: send total count in response + bug fixes * fix: add source for v2 dashboards * chore: incorporate source * chore: incorporate source in api spec * chore: incorporate source * fix: remove system dashboards from list v2 response * fix: add some required fields * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 api specs * fix: remove unused param in constructor * fix: improve api descriptions * fix: remove unneeded comment * chore: increase MaxTagsPerDashboard to 10 * fix: set display name in unmarshal json * chore: remove integration test for now (will add along with list api) * feat: add validation on dashboard name * test: fix build errors and tests based on name related changes * chore: bump migration number * chore: generate api specs * fix: fix tests based on name related changes * fix: dont include full data in list response * fix: add quotes around tag relation kind * chore: bump migration number * fix: fix post merge build and spec errors * fix: correct convertor method name * test: add unit tests for type conversions * chore: remove enum def of threshold comparison operator * feat: add flag to generate unique name in backend * chore: generate api specs * chore: make tags required in postable * fix: build error fix * chore: bump migration number * feat: introduce dashboard views for list dashboards page * fix: fix build error in test after merge conflict * fix: remove unused store method * fix: remove unused module methods * fix: use v1 store update method * fix: change data to spec in api param description * chore: add back accidentally removed tests * chore: update api spec * chore: bump migration number * feat: delete dashboard v2 API (#11299) * feat: delete dashboard v2 API * fix: fix post merge build and spec errors * fix: address review comments * chore: generate frontend api spec * fix: add missing name fetch in listv2 store method * fix: change title to name in api description * fix: add all error codes for new apis * test: change data to spec in unit tests * fix: remove join to public dashboard table in list call * fix: use valuer string for list order and sort * test: integration test and fixes found through it * chore: use same jsonpatch package as done in zeus * chore: remove JSONPatchDocument and use patchable everywhere * fix: make remove idempotent in patch * chore: separate file for patch types * chore: better error passage * fix: remove extra decodePatch calls * fix: fix post merge build and schema errors * fix: remove omitempty * chore: bump migration number * fix: remove user auditable * chore: dont pass email to create and update methods * chore: dont pass email to create and update methods * chore: regenerate api specs * chore: rearrange * fix: return better err * chore: add all err codes in api spec * chore: rearrange * fix: use must new org id * fix: proper error passage * chore: rename updateable to updatable * fix: use must new org id * fix: use must new org id * feat: include list of all dashboard tags in list api response * fix: remove wrong api description msg * fix: use must method for user id as well * chore: add nolint comment * fix: add missing image field in list response * chore: regenerate api specs * chore: regenerate api specs * fix: make GettableTag a defined type instead of an alias * fix: dont allow system dashboards to be deleted * fix: remove public filter from visitor * chore: use go sqlbuilder * fix: use ESCAPE literal in contains and like operators * fix: use correct perses package in list v2 file * feat: change pinned dashboard table to user dashboard preference table * fix: delete preferences on dashboard delete * test: add integration test for pinning * fix: wrap naked errors * fix: integration dashboards should not be deletable either * fix: remove org column in preferences and add foreign key to users table * chore: add fk from prefs to dashbaord table * chore: remove outer parenthesis removal function * test: add unit test to ensure that all reserved keys have handlers * fix: proper url for pin apis * fix: delete preferences on user deletion * test: address integration test comments * test: change limit * fix: revert the check in can delete * fix: remove unit test from ee package * fix: move list filter to impl to avoid db impl logic in types * chore: code movement * feat: add a pin free list dashboards api * fix: update api specs * fix: use request query in api defs for list apis * chore: explicitly mark request as nil in list apis * fix: remove extra noop assignment * chore: remove separate gettable view typedef * chore: rearrange structs * fix: cover errors, fix column type, add tests * test: add unit tests for dashboard view validations * fix: move view create/edit/delete to edit access * fix: move view create/edit/delete to edit access * fix: change url and fix api descriptions * chore: add query max length check for views * fix: wrong spelling for UpdatableDashboardView * fix: extract common validation logic between list api and saved views * test: add integration tests for dashboard views * test: add similar tests for dashboards as well * fix: dont trim name in views * fix: add integration test for trailing whitespace rejection * fix: return name required err for name with only spaces * test: fix python formatting * fix: generate api specs --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
78df13dabd |
perf: reuse label maps and index series by variable in formulas (#11529)
* perf: reuse label maps and index series by variable in formulas * perf: switch to simple worker pool * perf: use a pointer free backing array for result values --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
eb4b11295b |
feat: add clone dashboard API for perses dashboards (#11742)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat: add clone dashboard API for perses dashboards * fix: allow integration dashboards to be cloned * test: add integration test for cloning of integration dashboards * test: fix lint in test * test: revert the integration dashboard test |
||
|
|
5d711377ec |
feat: adding support for Azure DB services (#11679)
* feat: adding support for Azure SQL DB * refactor: adding missing metrics in data collected and panels in dash * feat: adding support for Azure SQL DB Managed Instances * feat: generating openapi spec * feat: adding nosql and cache services in azure integration |
||
|
|
629ea3b8be |
feat: extend error responses with new error struct (#11542)
Some checks failed
build-staging / js-build (push) Has been cancelled
build-staging / prepare (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat: extend error responses with new error struct
* fix: enriched error for dashboard api
* fix: merge issues
* fix: reverted dashboards changes and add for cloud integrations
* fix: delete file
* fix: add back file
* fix: added a helper
* fix: removed invlaid referencess
* fix: generate openapi
* fix: keeping additional along with suggestion
* Revert "fix: keeping additional along with suggestion"
This reverts commit
|
||
|
|
3e51b9556e |
refactor(planned-maintenance): remove time bounds from recurrence (#11500)
Some checks failed
Release Drafter / update_release_draft (push) Has been cancelled
build-staging / prepare (push) Has been cancelled
build-staging / staging (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
* feat(alertmanager): migrate recurrence bounds to schedule level Promote startTime/endTime from a planned maintenance's nested recurrence up to the schedule level. For recurring maintenances the recurrence bounds were the source of truth; the recurrence struct loses these fields in the next step, so the values are moved while they can still be read. The migration operates on raw JSON for that reason. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * refactor(alertmanager): drop start/end bounds from Recurrence Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * refactor: code cleanup * fix: upcoming check for recurring maintenances * fix: remove recurrence.startTime/endTime usages * fix: use embedded timezone in start/end times Accept times in any timezone, but always convert them to the selected timezone. The conversion is required to correctly handle the recurring maintenances for timezones where DST is involved. * refactor: remove redundant code * fix: make startTime a required field * test: cover fixed schedule active window in IsActive Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * test: cover recurring schedule active window in IsActive Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore: add justification for unreachable code * fix: don't let one corrupt maintenance abort the migration * fix: don't let one corrupt maintenance break the list ListPlannedMaintenance now reads the schedule as raw text and parses each row individually, skipping and logging the bad ones so the rest survive. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: tests to use UTC instead of utc * fix: return proper errors from schedule.Unmarshal * fix: copy schedule type to migration * chore: move tz conversion to checkX methods --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
e57a9556e3 |
feat(traces): integrate flamegraph v3 API (#11648)
* feat: added new flamegraph v3 query hook * feat: change normalise timestamp value from backend * feat: remove references use from visual compute to find parentID * feat: api integration and type fixes * feat: test updates * feat: prevent flamegraph call till user pref arrive * fix: keep flamegraph span ts in milli like others * fix: remove fg span timestamp unit conversion Since it's changed in api response * feat: revert timestamp conversion to ms --------- Co-authored-by: Nikhil Soni <nikhil.soni@signoz.io> |
||
|
|
7eb0095133 |
fix: proper definition of user dashboard preferences (#11643)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* fix: proper definition of user dashboard preferences * fix: use org id in deletion methods of pref table * fix: make migration name fit regex * fix: make compile return empty sql instead of nil * fix: remove dashboard dependency from user module * test: remove cleanup fixture from integration test |
||
|
|
df26eb1c1d |
chore: make some fields required in perses replicated spec (#11612)
* chore: make some fields required in perses replicated spec * chore: build frondend spec * revert: revert accidental change * fix: make duration optional * chore: add todo for duration and refresh interval |
||
|
|
36334309bb |
feat(resource): add resource middleware (#11607)
* feat(resource): initial commit
* feat(resource): add related resources
* feat(resource): audit cleanup
* refactor(resource): set audit category on resource defs; drop MustNew/validate
- Set Category (access_control) on every service account and role ResourceDef
so audit events carry signoz.audit.action_category
- Remove MustNewResourceDef/MustNewResourcesDef and validate(); registration
via plain ResourceDef literals again. Validation to be revisited separately
* feat(audit): emit audit events only for mutating verbs
- Add coretypes.Verb.IsMutation() (create/update/delete/attach/detach)
- Audit skips read/list defs (they remain for authz); failed and denied
mutations still emit with Outcome=failure
* feat(audit): mirror attach/detach audit on both ends for role↔service account
Role def on SetRole/DeleteRole now carries Related=ServiceAccount so each
permission-checked end emits its own event (serviceaccount.attached to role
and role.attached to serviceaccount), matching the both-ends authz model.
* refactor(resource): co-locate resolved context in handler; slice-of-pointers accessor
Move the resolved-resource context plumbing (resolvedKey, accessors) out of
the resource middleware and into pkg/http/handler next to ResolvedResource, so
type and accessor live in one package (matching the authtypes/ctxtypes
convention) and consumers import a single package.
- Store []*ResolvedResource instead of *[]ResolvedResource; in-place response-id
finalization still works via the element pointers.
- ResolvedResourcesFromContext returns an error (errCodeResolvedResourcesNotFound)
instead of a bool; authz surfaces it, audit treats absence as a no-op.
- Drop the now-dead authz Check/CheckAll/AuthZCheckGroup helpers superseded by
CheckResources.
* refactor(resource): unify id resolution into a single phase-driven mechanism
Replace the two-shaped id mechanism (a resolved string plus a stashed
responseID extractor, decided by resolveID's magic tuple and a zero-value
sentinel) with one retained extractor whose phase decides when it runs.
- ResolvedResource/ResolvedRelated keep idExtractor (renamed from responseID);
it is run in its declared phase, never re-run.
- ResourceIDExtractor gains isPhase + runFor; ResolvedResource gains resolve,
called once per phase (request by the resource middleware, response by audit).
- resolveID and resolveRelated(ec) are gone; FinalizeResponseIDs collapses to a
single resolve(phaseResponse) call. Request and response resolution are now
symmetric.
* refactor(resource): split resourcedef.go along its logical seams
Break the ~320-line resourcedef.go into cohesive files within the handler
package (pure relocation, no behavior or API change):
- extractor.go — extraction: ExtractorContext, phases, extractors + constructors
- resourcedef.go — declaration: ResourceDef/ResourcesDef/RelatedResource/
ResourceSpec + their functions (resolveRequest, ResolveRequest)
and the selectors
- resolved_resource.go — resolved types + their functions (resolve,
newResolvedRelated, FinalizeResponseIDs, HasResponseIDs)
- resolved_context.go — context plumbing (resolvedKey + accessors)
Each file's imports narrow to its concern; mux/gjson are now confined to
extractor.go.
* refactor(resource): extract selectors into selector.go
Move SelectorFunc + WildcardSelector/IDSelector (and the errCode they use)
out of resourcedef.go into selector.go. Pure relocation, no behavior change:
resourcedef.go now holds only the route-author declaration types and narrows
its imports to audittypes + coretypes.
* refactor(resource): extract ResourceSpec into resource_spec.go
Move the sealed ResourceSpec interface out of resourcedef.go into its own
file. Pure relocation, no behavior change.
* refactor(resource): split ResourcesDef into resourcesdef.go
Move the fan-out ResourcesDef (struct + sealResourceSpec/resolveRequest) out
of resourcedef.go into its own file. resourcedef.go keeps ResourceDef, the
shared RelatedResource, and the ResolveRequest orchestrator. Pure relocation,
no behavior change.
* refactor(resource): move RelatedResource and ResolveRequest into resource_spec.go
Cluster the spec contract together: the shared RelatedResource type and the
ResolveRequest orchestrator (over []ResourceSpec) join the ResourceSpec
interface. resourcedef.go now holds only ResourceDef. Pure relocation, no
behavior change.
* refactor(resource): seal ResourceSpec via resolveRequest alone
Drop the redundant sealResourceSpec() marker method; the unexported
resolveRequest already prevents implementations outside the package.
* feat(resource): scaffold coretypes-based resolved model
Introduce the referenceable, coretypes-resident resource model (additive;
the existing ResourceDef path is untouched and the build stays green):
- coretypes: ExtractorContext + ExtractPhase + ResourceIDExtractor/
ResourceIDsExtractor (extractor machinery moved out of handler; handler keeps
only the mux/gjson constructors).
- coretypes: SelectorFunc (now (ctx, resource, id, orgID) to stay cycle-free) +
WildcardSelector/IDSelector.
- coretypes: ResolvedResource + ResolvedResourceWithTargetResource interfaces,
their concrete types with two-phase fill (request ids at construction,
response ids via ResolveResponse), and the resolved-context accessors.
- handler: the three explicit declaration types — BasicResourceDef,
AttachDetachSiblingResourceDef, AttachDetachParentChildResourceDef.
Wiring (defs -> ResolveRequest, middleware, route migration) follows next.
* refactor(resource): wire the coretypes resolved model end-to-end
Cut the resource middleware over to the coretypes-resident resolved model and
the explicit declaration types, replacing the generic ResourceDef/ResourcesDef.
- handler: ResourceDef is now a sealed interface (unexported resolveRequest)
implemented by BasicResourceDef / AttachDetachSiblingResourceDef /
AttachDetachParentChildResourceDef, all consolidated into resourcedef.go.
Removed the old generic defs, the handler-side resolved/selector/context
(moved to coretypes), and the dead AuditDef.
- coretypes: ActionCategory moved here; Category() exposed on the resolved
interface (declared on the def, read by audit; no kind-based derivation).
- middleware: authz does M+N absolute checks (source always, sibling target
too, parent-child child never) via the resolved selectors; audit type-switches
on the resolved interface to emit per resource / per relationship.
- authz forbidden message is now AWS-style: principal is not authorized to
perform <kind>:<verb> on resource "<id>".
- routes: service account + role routes migrated to the explicit defs;
roleSelector takes orgID.
Note: resourcedef_test.go (old API) removed; new tests to follow.
* feat(resource): instrument query-range with telemetry resource authz
Authorize /api/v5/query_range at the telemetry-resource level, derived from the
request body rather than a path/body id:
- coretypes: ResourceExtractor now yields []ResourceWithID (resource + id), and
TelemetrySignalSource maps each query's spec.signal+spec.source to a telemetry
resource (via TelemetryResourceForSignalSource) and reads a per-query id — one
entry per query, no de-duplication, so repeated signals each get their own
resource + id.
- handler: TelemetryResourceDef fans out one resolved resource per query through
NewResolvedResourceWithID; resolveRequest returns a slice to allow fan-out.
- The extractor model (types + constructors + ResourceExtractor) now lives wholly
in coretypes (handler/extractor.go removed); coretypes gains mux/gjson.
- querier route: ViewAccess -> CheckResources + the telemetry def (spec.name is a
placeholder id; the owner picks the real field).
Carries the in-progress removal of Verb.IsMutation and its audit mutation-gate,
so audit currently emits per resolved resource regardless of verb (to revisit).
* feat(resource): instrument planned-maintenance routes + tidy resolved id handling
- ruler.go: downtime_schedules routes move from ViewAccess/EditAccess to
CheckResources with resource defs — Basic for list/read/create/update/delete on
PlannedMaintenance, plus a sibling Attach (schedule <-> the rules in alertIds)
on create/update so both the schedule and each rule are authz-checked.
- coretypes: SourceIDs/TargetIDs return a single empty id when there are none, so
collection-level access lives in the resolved value; authz.checkResource drops
its empty-id shim and just iterates.
- readability: expand crammed multi-arg signatures and calls (checkResource,
NewResolvedResource/WithID, forbidden errors.Newf, telemetry mapping) to one
argument per line.
* refactor(resource): drop query-range/planned-maintenance instrumentation; mirror sibling audit
- Revert /api/v5/query_range and downtime_schedules routes to ViewAccess/EditAccess
and remove the telemetry-resource scaffolding that only query-range consumed
(TelemetryResourceDef, TelemetrySignalSource, TelemetryResourceForSignalSource,
ResourceExtractor/ResourceWithID, NewResolvedResourceWithID).
- audit: a sibling attach/detach now emits the event from both ends, matching the
both-ends authz model (parent-child stays one-directional).
- Strip non-essential doc/inline comments across the resource middleware files.
* refactor(coretypes): fold extractor/selector _func files into their concept files
- Merge extractor_func.go + extractor_context.go into extractor.go, and
selector_func.go into selector.go, matching the type.go/object.go/verb.go
convention of keeping a type with its constructors and helpers.
- Order each file const/var -> type -> func (also reorders action_category.go).
* feat(resource): capture response body only when an id is resolved from it
- Restore the capture gate lost in the coretypes move: ResolvedResource gains an
unexported hasResponsePhase(), and ShouldCaptureResponseBody(ctx) drives the
audit middleware so the body is buffered only when some resolved resource reads
an id out of it (e.g. a create), not for every resource-declared route.
- Add ResourceIDsExtractor.IsPhase (mirroring ResourceIDExtractor) and reuse it.
- Fold resolved_context.go into resolved.go.
---------
Co-authored-by: grandwizard28 <vibhupandey28@gmail.com>
|
||
|
|
b22eef6a65 |
feat: v2 list, delete, pin, unpin dashboards api (#11219)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* fix: compile error fix * fix: remove soft delete references * fix: use new pattern of checking for admin permission * fix: remove soft delete reference * test: key value tags in test * fix: build error in patch module method * feat: method to build postable tags from tags * fix: build error in Apply method * chore: remove newline * fix: remove soft delete references * fix: build error fix * chore: embed StorableDashboard in listedRow * fix: visitor should follow new tag struct * fix: diff error codes for invalid keys and values * fix: correct pk in bun model for tag relations * fix: created and updated by schema * fix: use coretypes.Kind instead of defining entity type * fix: singular table name * chore: remove org ID from tag relation * feat: foreign key on tag id * feat: add SyncTags method that covers creation and linking * fix: remove entity type definition * fix: fix build errors in dashboard module * chore: bump migration number * chore: change entity id to resource id * fix: add org id filter in all list and delete queries * fix: remove user auditable * fix: add ID in tag relation * fix: fix build error * fix: fix build error * chore: bump migration number * fix: add len check on tags keys and values * fix: add regex for tags * chore: remove methods that shouldn't be exposed * fix: use sync tags in create api * feat: functional unique index in sql schema * fix: only ascii in regex * fix: use sync tags method in update * fix: use sync tags method in update * fix: correct the method name being called * chore: rename create method to createOrGet * chore: use tagtypestest package for mock store * chore: combine functional unique index with unique index * chore: move tag resolution to module * test: add unit tests for new idx type * chore: comment out tags unique index for now * chore: add a todo comment * chore: comment out unique index test * feat: add created at to tag relations * chore: comment out unique index test * chore: bump migration number * chore: remove uploaded grafana flag from metadata * Merge branch 'main' into nv/v2-dashboard-create * chore: revert idx generation to resolve conflicts * fix: use store.RunInTx instead of taking in sqlstore * fix: use binding package to get request * chore: move NewDashboardV2 to NewDashboardV2WithoutTags * chore: rename module to m * fix: add ctx needed in sqlstore * fix: remove sqlstore passage in ee pkg * chore: change dashboardData to dashboardSpec * feat: follow the metadata+spec key structure * feat: follow the metadata+spec key structure in open api spec * feat: v2 dashboard GET API (#11136) * feat: v2 dashboard GET API * Merge branch 'nv/v2-dashboard-create' into nv/v2-dashboard-get * chore: update api specs * fix: remove soft delete references * chore: embed StorableDashboard into joinedRow in store method * fix: fix build error * chore: revert all frontend changes * fix: remove public dashboard from get v2 call * chore: revert all frontend changes * fix: fix build errors post merge conflict resolution * feat: lock, unlock, create public, update public v2 dashboard APIs (#11167) * feat: lock, unlock, create public, update public v2 dashboard APIs * chore: update api specs * fix: use new pattern of checking for admin permission * fix: remove soft delete reference * chore: revert all frontend changes * fix: fix build errors and remove v2 create/update public apis * chore: use v1 methods wherever possible * fix: use update v2 store method * chore: update frontend schema * chore: update frontend schema * chore: generate api specs * chore: generate api specs * feat: patch dashboard api (#11182) * feat: lock, unlock, create public, update public v2 dashboard APIs * feat: delete dashboard v2 API and hard delete cron job * feat: patch dashboard api * chore: update api specs * chore: update api specs * chore: update api specs * chore: remove delete related work * fix: add examples of structs for value param in param description * test: unit test fixes * fix: use new pattern of checking for admin permission * fix: remove soft delete reference * test: key value tags in test * fix: build error in patch module method * fix: build error in Apply method * fix: use sync tags method in update * fix: fix build errors * fix: fix all patch application tests * chore: add more mapper methods * fix: fix build errors * chore: generate api specs * fix: update migration numbering * fix: add missing request struct in list api * fix: remove hasMore from list response * chore: bump migration number * fix: send total count in response + bug fixes * fix: add source for v2 dashboards * chore: incorporate source * chore: incorporate source in api spec * chore: incorporate source * fix: remove system dashboards from list v2 response * fix: add some required fields * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 api specs * fix: remove unused param in constructor * fix: improve api descriptions * fix: remove unneeded comment * chore: increase MaxTagsPerDashboard to 10 * fix: set display name in unmarshal json * chore: remove integration test for now (will add along with list api) * feat: add validation on dashboard name * test: fix build errors and tests based on name related changes * chore: bump migration number * chore: generate api specs * fix: fix tests based on name related changes * fix: dont include full data in list response * fix: add quotes around tag relation kind * chore: bump migration number * fix: correct convertor method name * test: add unit tests for type conversions * chore: remove enum def of threshold comparison operator * feat: add flag to generate unique name in backend * chore: generate api specs * chore: make tags required in postable * fix: build error fix * chore: bump migration number * fix: fix build error in test after merge conflict * fix: remove unused store method * fix: remove unused module methods * fix: use v1 store update method * fix: change data to spec in api param description * chore: add back accidentally removed tests * chore: update api spec * chore: bump migration number * feat: delete dashboard v2 API (#11299) * feat: delete dashboard v2 API * fix: fix post merge build and spec errors * fix: address review comments * chore: generate frontend api spec * fix: add missing name fetch in listv2 store method * fix: change title to name in api description * fix: add all error codes for new apis * test: change data to spec in unit tests * fix: remove join to public dashboard table in list call * fix: use valuer string for list order and sort * test: integration test and fixes found through it * chore: use same jsonpatch package as done in zeus * chore: remove JSONPatchDocument and use patchable everywhere * fix: make remove idempotent in patch * chore: separate file for patch types * chore: better error passage * fix: remove extra decodePatch calls * fix: use must new org id * fix: proper error passage * chore: rename updateable to updatable * fix: use must new org id * feat: include list of all dashboard tags in list api response * fix: remove wrong api description msg * fix: use must method for user id as well * chore: add nolint comment * fix: add missing image field in list response * chore: regenerate api specs * fix: make GettableTag a defined type instead of an alias * fix: dont allow system dashboards to be deleted * fix: remove public filter from visitor * chore: use go sqlbuilder * fix: use ESCAPE literal in contains and like operators * fix: use correct perses package in list v2 file * feat: change pinned dashboard table to user dashboard preference table * fix: delete preferences on dashboard delete * test: add integration test for pinning * fix: wrap naked errors * fix: integration dashboards should not be deletable either * fix: remove org column in preferences and add foreign key to users table * chore: add fk from prefs to dashbaord table * chore: remove outer parenthesis removal function * test: add unit test to ensure that all reserved keys have handlers * fix: proper url for pin apis * fix: delete preferences on user deletion * test: address integration test comments * test: change limit * fix: revert the check in can delete * fix: remove unit test from ee package * fix: move list filter to impl to avoid db impl logic in types * chore: code movement * feat: add a pin free list dashboards api * fix: update api specs * fix: use request query in api defs for list apis * chore: explicitly mark request as nil in list apis --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
4d3d1ef423 |
fix: add check for percentile aggregation for non-histogram metrics (#11387)
* fix: add check for percentile aggregation for non-histogram metrics * test: correct errors pkg in test file * fix: catch type related errors in querier * fix: remove comparison related tests --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
c775d7e398 |
chore: add discriminator on kind in perses spec (#11635)
* chore: add discriminator on kind in perses spec * chore: add discriminator to builder query spec * chore: update in query builder directly * docs: add info about discriminator in handler.md * fix: move back to restrictKindToOneValue * fix: move back to restrictKindToOneValue |
||
|
|
a014e9c0cb |
chore(trace-detail): waterfall v3 and v2 cleanup (#11609)
* chore: cleanup waterfall v3 api We've moved to v4 as part of memory allocation optimisation * chore: remove select all limit from waterfall request It was added for testing only and fine tuning the limit value * chore: update openapi specs * chore: remove waterfall v2 since we've moved to v4 now |
||
|
|
73c2c15200 |
feat: adding support for VMs in Azure integration (#11573)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat: adding supoprt for virtual machines to azure one click integration * chore: generating openapi spec * chore: updating dashboard title |
||
|
|
1ba9b90855 |
feat: adding assets and dashboards for azure app services (#11565)
* feat: adding assets and dashboards for azure app services * refactor: updating metric names * chore: openapi spec changes * chore: generating frontend types |
||
|
|
e10a9515ef |
feat(trace-details): add implementation for flamegraph building (part 2) (#11491)
* feat: add config for flamegraph
* Revert "chore: extract out flamegraph building logic for easier review"
This reverts commit
|
||
|
|
922800ff98 | feat: adding support for Azure Container Apps (#11580) | ||
|
|
b072095a9d |
feat: adding support for Azure AKS (#11615)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat: adding support for Azure AKS * refactor: updating metric names in integration config * chore: generating OpenAPI spec * chore: adding note in overview * refactor: updating spatial aggregation and other names * refactor: updating reduceTo to empty value * refactor: updating title |
||
|
|
c688170a13 |
feat(trace-detail): add flamegraph v3 with optimized memory consumption (part 1) (#11462)
* feat: add types for flamegraph v3 in module structure * chore: remove limit from request payload It's a new api so doesn't need to be backward compatible * feat: add config for flamegraph * feat: add method to enrich selected spans * feat: add api and module for flamegraph v3 * feat: query full spans for smaller traces * chore: move exported methods to the top * chore: ignore nil assigment lint error * chore: extract out flamegraph building logic for easier review * chore: update openapi specs * chore: move flamegraph after aggregation to reduce diff * chore: remove un related changes to keep diff minimum * chore: avoid passing request type to module * feat: return selected fields only in flamegraph And reduce the no. of fields scanned from db * chore: make array fields required and non nullable * chore: update openapi specs * chore: mark all fields in response as required * refactor: switch to using group by instead of distinct on Since group by is faster is enough no. of threads are used * chore: remove service name root level field from flamegraph span * chore: update openapi specs * fix: update alias in order by of the query * chore: remove unnecessary nil check * fix: set empty array for missing data * chore: use single line for error creation * chore: mark response fields as required * chore: update openapi specs * chore: add test to verify the flamegraph query sql * chore: update openapi specs * chore: use orderbyasc instead of order by |
||
|
|
7da7fda283 |
chore(alertmanager): support custom receiver configs (#11473)
Some checks failed
build-staging / js-build (push) Has been cancelled
build-staging / prepare (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* chore(alertmanager): support custom receiver configs * chore: update * chore: update types * chore: regenerate * chore: copy type and function |
||
|
|
97191eb7a2 |
chore: replace perses/perses with perses/spec and introduce kind enum values (#11559)
* chore: replace perses/perses with perses/spec and introduce kind enum values * fix: enforce query kind values * chore: generate frontend api spec * test: fix patch unit tests using correct query kind value * feat: add validation to query builder request type |
||
|
|
7932917f5f |
refactor: service response changes and dashboardID handling (#11485)
* refactor: service response changes and dashboardID handling * refactor: removing unused enrichDashboardIDs func * revert: restore frontend files to main state * refactor: updating response * refactor: updating nullable tag * chore: adding required tags * chore: adding required tags for ServiceDashboard struct * refactor(integrations): align service-details UI with new cloud-integration API + disabled-dashboard state (#11547) * refactor: cloud integration service * fix: update schemas * fix: update schema * fix: minor fixes * refactor: review comments --------- Co-authored-by: Gaurav Tewari <tewarig@users.noreply.github.com> --------- Co-authored-by: Gaurav Tewari <gauravtewari111@gmail.com> Co-authored-by: Gaurav Tewari <tewarig@users.noreply.github.com> |
||
|
|
df7ef3cdb5 |
feat: v2 dashboard update, lock, unlock, and patch API (#11481)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* chore: follow proper unmarshal json method structure * feat: v2 create dashboard API * fix: only return name of a tag in dashboard response * fix: use existing tag's casing if new tag is a prefix of an existing tag * fix: go lint fix * fix: more dashboard request validations * chore: separate method for validation * fix: module should also validate postable dashboard * test: integration tests for create API * test: integration test fixes * chore: use existing mapper * fix: remove extra spec from builder query marshalling * fix: merge conflicts * feat: v2 dashboard GET API * feat: v2 dashboard update API * fix: add allowed values in err messages * fix: remove extra (un)marshal cycle * fix: return 500 err if spec is nil for composite kind w/ code comment * fix: no need for copying textboxvariablespec * fix: wrap errors * chore: no v2 subpackage * fix: no v2 package and its consequences * fix: no v2 package and its consequences * Merge branch 'nv/v2-dashboard-create' into nv/v2-dashboard-get * fix: merge fixes * fix: query-less panels not allowed * feat: consolidate tag module and tagtypes changes from downstream branches * chore: update api specs * chore: update api specs * fix: allow only 1 query in a panel * test: unit test fixes * feat: method to fetch tags for multiple entries at once * test: fix mock interface in test * feat: move tags to key:value pairs model * feat: entity type column in tags * fix: pass entity type in create many * feat: reserved DSL key validation for tags * feat: new module for tags * chore: merge conflicts error fixing pt 1 * fix: lint fix regarding nil, nil return in test file * chore: change where tag module is instantiated * fix: add back api endpoint * chore: generate api spec * fix: remove soft delete references * chore: embed StorableDashboard into joinedRow in store method * fix: extend bun in joinedRow * fix: compile error fix * fix: remove soft delete references * feat: method to build postable tags from tags * fix: diff error codes for invalid keys and values * fix: correct pk in bun model for tag relations * fix: created and updated by schema * fix: use coretypes.Kind instead of defining entity type * fix: singular table name * chore: remove org ID from tag relation * feat: foreign key on tag id * feat: add SyncTags method that covers creation and linking * fix: remove entity type definition * fix: fix build errors in dashboard module * chore: bump migration number * chore: change entity id to resource id * fix: add org id filter in all list and delete queries * fix: remove user auditable * fix: add ID in tag relation * fix: fix build error * fix: fix build error * chore: bump migration number * fix: add len check on tags keys and values * fix: add regex for tags * chore: remove methods that shouldn't be exposed * fix: use sync tags in create api * feat: functional unique index in sql schema * fix: only ascii in regex * fix: use sync tags method in update * chore: rename create method to createOrGet * chore: use tagtypestest package for mock store * chore: combine functional unique index with unique index * chore: move tag resolution to module * test: add unit tests for new idx type * chore: comment out tags unique index for now * chore: add a todo comment * chore: comment out unique index test * feat: add created at to tag relations * chore: comment out unique index test * chore: bump migration number * chore: remove uploaded grafana flag from metadata * Merge branch 'main' into nv/v2-dashboard-create * chore: revert idx generation to resolve conflicts * fix: use store.RunInTx instead of taking in sqlstore * fix: use binding package to get request * chore: move NewDashboardV2 to NewDashboardV2WithoutTags * chore: rename module to m * fix: add ctx needed in sqlstore * fix: remove sqlstore passage in ee pkg * chore: change dashboardData to dashboardSpec * feat: follow the metadata+spec key structure * feat: follow the metadata+spec key structure in open api spec * feat: v2 dashboard GET API (#11136) * feat: v2 dashboard GET API * Merge branch 'nv/v2-dashboard-create' into nv/v2-dashboard-get * chore: update api specs * fix: remove soft delete references * chore: embed StorableDashboard into joinedRow in store method * fix: fix build error * chore: revert all frontend changes * fix: remove public dashboard from get v2 call * chore: revert all frontend changes * fix: fix build errors post merge conflict resolution * feat: lock, unlock, create public, update public v2 dashboard APIs (#11167) * feat: lock, unlock, create public, update public v2 dashboard APIs * chore: update api specs * fix: use new pattern of checking for admin permission * fix: remove soft delete reference * chore: revert all frontend changes * fix: fix build errors and remove v2 create/update public apis * chore: use v1 methods wherever possible * fix: use update v2 store method * chore: update frontend schema * chore: update frontend schema * chore: generate api specs * chore: generate api specs * feat: patch dashboard api (#11182) * feat: lock, unlock, create public, update public v2 dashboard APIs * feat: delete dashboard v2 API and hard delete cron job * feat: patch dashboard api * chore: update api specs * chore: update api specs * chore: update api specs * chore: remove delete related work * fix: add examples of structs for value param in param description * test: unit test fixes * fix: use new pattern of checking for admin permission * fix: remove soft delete reference * test: key value tags in test * fix: build error in patch module method * fix: build error in Apply method * fix: use sync tags method in update * fix: fix build errors * fix: fix all patch application tests * chore: add more mapper methods * fix: add source for v2 dashboards * chore: incorporate source * chore: incorporate source in api spec * chore: incorporate source * fix: add some required fields * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 api specs * fix: remove unused param in constructor * fix: improve api descriptions * fix: remove unneeded comment * chore: increase MaxTagsPerDashboard to 10 * fix: set display name in unmarshal json * chore: remove integration test for now (will add along with list api) * feat: add validation on dashboard name * test: fix build errors and tests based on name related changes * fix: correct convertor method name * test: add unit tests for type conversions * chore: remove enum def of threshold comparison operator * feat: add flag to generate unique name in backend * chore: generate api specs * chore: make tags required in postable * fix: build error fix * fix: fix build error in test after merge conflict * fix: remove unused store method * fix: remove unused module methods * fix: use v1 store update method * fix: change data to spec in api param description * chore: add back accidentally removed tests * fix: address review comments * chore: generate frontend api spec * chore: use same jsonpatch package as done in zeus * chore: remove JSONPatchDocument and use patchable everywhere * fix: make remove idempotent in patch * chore: separate file for patch types * chore: better error passage * fix: remove extra decodePatch calls * fix: use must new org id * fix: proper error passage * chore: rename updateable to updatable --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
dc6a1d0a4e |
fix: skip resource filter if it exceeds a threshold (#11524)
* fix: skip resource filter if it exceeds a threshold * fix: test cleanup * fix: test cleanup * fix: more cleanup * fix: tests |
||
|
|
e8effa5b3f |
feat: [traces] time aware dynamic field mapper (#11234)
* feat: [traces] time aware dynamic field mapper * fix: minor changes * fix: get keys after modifying the selectkeys * fix: more updated * fix: lint * fix: address comments * fix: tests * fix: tests --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
e43aeb8e24 |
fix: add references in waterfall response (#11536)
* fix: add references in waterfall response * chore: update openapi specs * chore: mark reference a non nullable field |
||
|
|
5e94f7ac6e |
feat(trace-details): Add API endpoint & module for trace aggregations (#11452)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat: add endpoint & module for trace aggregations * chore: use v1 for aggregations api * chore: update openapi specs * feat: add implementation for aggregation store * chore: use query builder for count by field * chore: remove support for aggregations on attributes Only supporting resource fields for now, since this is not user input but hard coded client experience * chore: extract out inner query as cte * chore: again extract out inner query * chore: move end_ns computation to first cte for simplicity * chore: use notEmpty function instead of having * fix: type cast issue in sum function * chore: use query builder for duration query as well * chore: add tests for trace store sql * chore: remove unnecessary column checks * chore: format the expected sql queries * fix: formating was breaking test * fix: change import and remove formating from sql * chore: remove formating from store impl as well * fix: mark required fields as required * fix: explicitly mark nullable false for required field * fix: mark required fields in response as well |
||
|
|
407d969cd3 |
feat(user): add support for token verification (#11496)
* feat(user): add support for token validation * feat(user): update openapi specs * feat(user): update verify endpoint * feat(user): use binding package * feat(user): update openapi specs |
||
|
|
1d6fa6e507 |
feat: extend error fields (#11228)
* fix: extended error fields * fix: remove stale comment * fix: removed retry policy enum and added example * fix: generate openapi * fix: stale comments |
||
|
|
f626380b1a |
fix(infra-monitoring): align v2 custom queries' bounds with QBv5 querier step adjustment (#11397)
* chore: updated logic and use centralized function in the module * chore: filter metric groups * chore: filter metric groups * chore: formula correction * chore: added step flooring note * chore: comment correction * chore: comment correction * chore: removed function * chore: renamed variables * chore: fix for surfacing meta for pods custom group by * chore: added todo and note * chore: added changes based on comments --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
c68f237a8a |
feat: v2 create and get dashboard API (#11125)
* feat: openapi spec generation * test: script to generate test dashboard data in a sql db * test: fixes in dashboard perf testing data generator * test: perf test script for both sql flavours * test: data column in perf tests should match real data * test: much bigger json for data column * chore: comment clean up * chore: separate file for perses replicas * test: more descriptive test file name * chore: move plugin maps to correct file * chore: comment cleanup * test: add tests for spec wrappers * chore: better file names * chore: better file name * chore: too many comments * fix: js lint errors * fix: dot at the end of a comment * chore: better error messages * fix: strict decode variable spec as well * fix: remove textbox plugin from openapi spec * chore: renames and code rearrangement * chore: better comment to explain what restrictKindToLiteral does * chore: cleaner comment * chore: cleaner comment * chore: cleaner comment * chore: better method name * chore: cleanup testing code * chore: code movement * chore: code movement * chore: code movement * chore: go lint fix (godot) * chore: code movement * chore: cleanup comments * chore: better method name extractKindAndSpec * test: test for drift detection mechanics * feat: define tags module for v2 dashboard creation * feat: enum for entity type that other modules can register * chore: follow proper unmarshal json method structure * feat: v2 create dashboard API * fix: only return name of a tag in dashboard response * fix: use existing tag's casing if new tag is a prefix of an existing tag * fix: go lint fix * fix: more dashboard request validations * chore: separate method for validation * fix: module should also validate postable dashboard * test: integration tests for create API * test: integration test fixes * chore: use existing mapper * fix: remove extra spec from builder query marshalling * fix: merge conflicts * fix: add allowed values in err messages * fix: remove extra (un)marshal cycle * fix: return 500 err if spec is nil for composite kind w/ code comment * fix: no need for copying textboxvariablespec * fix: wrap errors * chore: no v2 subpackage * fix: no v2 package and its consequences * fix: no v2 package and its consequences * fix: query-less panels not allowed * feat: consolidate tag module and tagtypes changes from downstream branches * fix: allow only 1 query in a panel * test: unit test fixes * feat: method to fetch tags for multiple entries at once * test: fix mock interface in test * feat: move tags to key:value pairs model * feat: entity type column in tags * fix: pass entity type in create many * feat: reserved DSL key validation for tags * feat: new module for tags * chore: merge conflicts error fixing pt 1 * fix: lint fix regarding nil, nil return in test file * chore: change where tag module is instantiated * fix: add back api endpoint * chore: generate api spec * fix: extend bun in joinedRow * feat: method to build postable tags from tags * fix: diff error codes for invalid keys and values * fix: correct pk in bun model for tag relations * fix: created and updated by schema * fix: use coretypes.Kind instead of defining entity type * fix: singular table name * chore: remove org ID from tag relation * feat: foreign key on tag id * feat: add SyncTags method that covers creation and linking * fix: remove entity type definition * fix: fix build errors in dashboard module * chore: bump migration number * chore: change entity id to resource id * fix: add org id filter in all list and delete queries * fix: remove user auditable * fix: add ID in tag relation * fix: fix build error * chore: bump migration number * fix: add len check on tags keys and values * fix: add regex for tags * chore: remove methods that shouldn't be exposed * fix: use sync tags in create api * feat: functional unique index in sql schema * fix: only ascii in regex * chore: rename create method to createOrGet * chore: use tagtypestest package for mock store * chore: combine functional unique index with unique index * chore: move tag resolution to module * test: add unit tests for new idx type * chore: comment out tags unique index for now * chore: add a todo comment * chore: comment out unique index test * feat: add created at to tag relations * chore: comment out unique index test * chore: bump migration number * chore: remove uploaded grafana flag from metadata * Merge branch 'main' into nv/v2-dashboard-create * chore: revert idx generation to resolve conflicts * fix: use store.RunInTx instead of taking in sqlstore * fix: use binding package to get request * chore: move NewDashboardV2 to NewDashboardV2WithoutTags * chore: rename module to m * fix: add ctx needed in sqlstore * fix: remove sqlstore passage in ee pkg * chore: change dashboardData to dashboardSpec * feat: follow the metadata+spec key structure * feat: follow the metadata+spec key structure in open api spec * feat: v2 dashboard GET API (#11136) * feat: v2 dashboard GET API * Merge branch 'nv/v2-dashboard-create' into nv/v2-dashboard-get * chore: update api specs * fix: remove soft delete references * chore: embed StorableDashboard into joinedRow in store method * fix: fix build error * chore: revert all frontend changes * fix: remove public dashboard from get v2 call * chore: update frontend schema * chore: generate api specs * fix: add source for v2 dashboards * chore: incorporate source * fix: add some required fields * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 * feat: add immutable name in dashboard v2 api specs * fix: remove unused param in constructor * fix: improve api descriptions * fix: remove unneeded comment * chore: increase MaxTagsPerDashboard to 10 * fix: set display name in unmarshal json * chore: remove integration test for now (will add along with list api) * feat: add validation on dashboard name * fix: correct convertor method name * test: add unit tests for type conversions * chore: remove enum def of threshold comparison operator * feat: add flag to generate unique name in backend * chore: generate api specs * chore: make tags required in postable * test: fix unit tests referring to > threshold operator * fix: use must new uuid for org id |
||
|
|
e75a0b59d6 |
fix(rules): use alertmanager external URL for related logs/traces and generator URL (#11413)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat(rules): use alertmanager external URL for related logs/traces and generator URL Plumbs SIGNOZ_ALERTMANAGER_SIGNOZ_EXTERNAL__URL through the rule manager so the host portion of related_logs / related_traces come from configured external URL instead of the frontend window.location captured at rule-creation time. Frontend-supplied source URL is retained as a fallback when the env var has not been set so existing self-hosted deployments keep working. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * feat(rules)!: drop frontend source URL fallback for related logs/traces and generator URL Always derive the host portion of the rule generator URL and the related_logs / related_traces annotations from SIGNOZ_ALERTMANAGER_SIGNOZ_EXTERNAL__URL. Self-hosted deployments that have not set the env var will see the default (http://localhost:8080) in alert notifications, which makes the need to configure it surface clearly. Revert this commit to restore the prior fallback behavior. Refs SigNoz/engineering-pod#5055 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * refactor: simplify ExternalURLHost * chore: use alert overview url for generator url * refactor(rules): source external URL via alertmanager.Config() instead of plumbing through main Address PR feedback (therealpandey): expose a Config() accessor on the alertmanager.Alertmanager interface and consume the external URL from it inside signozruler.NewFactory. This drops the *url.URL parameter that was previously threaded through cmd/community/server.go, cmd/enterprise/server.go, and pkg/signoz/signoz.go. Also switch BaseRule.GeneratorURL to *url.URL.JoinPath + Query so the URL is composed correctly when the external URL carries a base path (e.g. https://signoz.example.com/signoz) and ruleId is properly query-encoded, as suggested in review. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * refactor: expose alertmanagerserver.Config * refactor: rename "linksTo" to "paramsFor" --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
a60d87c51b |
chore: add name column in dashboards table for v2 dashboards (#11456)
* chore: add name column in dashboards table for v2 dashboards * chore: empty commit to rerun tests * chore: empty commit to rerun tests |
||
|
|
1e326159b0 |
feat(tracedetail): add waterfall api with memory optimisations (#11450)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* feat: add store methods for minimal trace fetch * feat: break down waterfall module to handle large spans Handling large traces in two steps to avoid high memory allocation * refactor: keep the waterfall changes in new api version This is to avoid the contract change in existing v3 * chore: avoid unnecessary diffs * refactor: move conversion logic to types * chore: update openapi specs * refactor: use sqlbuider for queries * chore: fix comment * chore: avoid passing request type to module * refactor: avoid passing whole summary object around * chore: remove trace_id from querying since its already known * chore: remove unused reference column from query * chore: update openapi specs |
||
|
|
0671c5f416 |
feat: installed integration dashboards migration to DB (#11415)
* chore: added migration setup * feat(sqlmigration): add integration_dashboards table (migration 079) Adds the `integration_dashboards` relations table that stores the integration-specific identity for dashboards provisioned from cloud or builtin integrations. Columns: id, org_id, dashboard_id, provider, slug, created_at, updated_at. Includes a unique index on dashboard_id. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(sqlmigration): backfill cloud integration dashboards to DB (migration 080) One-time idempotent migration that provisions dashboard rows for all orgs with existing cloud integration services where metrics are enabled. Each dashboard is inserted into the `dashboard` table with source="integration" and locked=true, and a companion row is added to `integration_dashboards` with provider="cloud_integrations" and slug="{provider}-{service}-{dashboard}" (e.g. aws-alb-overview). Idempotency is enforced by checking (org_id, provider, slug) on integration_dashboards before each insert. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(sqlmigration): clean up stale 079 artifacts, add 079 schema migration Remove the pre-rename 079_migrate_cloud_integration_dashboards.go and 079_cloud_integration_dashboards/ directory that were left behind when the backfill migration was renumbered to 080. Add the missing 079_add_integration_dashboards.go (schema-only migration creating the integration_dashboards table) which provider.go already references. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: adding comment for fk * refactor: renaming table name * refactor: rename and restructure cloud integration dashboard migration types * chore: file rename * refactor: dashboard creation and listing flow change * refactor: removing loose strings * refactor: adding DeleteBySource on dashboard module * refactor: review changes and update service flow change * refactor: simplify comments * ci: lint staticcheck fix * refactor: renaming migration and adding integration tests * ci: py fmt lint fixes * feat: adding ListSharedServices store method * ci: golangci-lint fix * feat(integrations): persist installed integration dashboards in DB Provisions dashboard DB rows when an integration is installed and deprovisions them on uninstall. Adds a backfill migration (087) for users with already-installed integrations. Removes the on-the-fly filesystem serving path from http_handler in favor of the standard dashboard module. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: changing dashboard ID and other cleanup * chore: update code structure for better readability and maintainability * refactor: removing deprecated cloud integrations and merging integration types * refactor: renaming migration files and removing deprecated tests * refactor: using BunDBCtx method instead * ci: fix py fmt lint --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|
|
804ea2a7f8 |
feat: alert template processor + integration in notifiers (#10750)
Some checks failed
build-staging / prepare (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
* chore: custom notifiers in alert manager * chore: lint fixs * chore: fix email linter * chore: added tracing to msteamsv2 notifier * feat: alert manager template to template title and notification body * chore: updated test name + code for timeout errors * chore: added utils for using variables with $ notation * chore: exposed templates for alertmanager types * feat: added preprocessor for alert templater * chore: hooked preProcess function in expandTitle and body, added labels and annotations in alertdata * chore: fix lint issues * chore: added handling for missing variable used in template * feat: converted alerttemplater to interface and updated tests * refactor: added extractCommonKV instead of 2 different functions * test: fix preprocessor test case * feat: added support for and in templating * chore: lint fix * chore: renamed the interface * chore: added test for missing function * refactor: test case and sb related changed * refactor: comments and test improvements * chore: lint fix * chore: updated comments * feat: added basic html markdown templater * chore: updated newline to markdown format * feat: slack blockkit renderer using goldmark * test: added test for html rendering * feat: integrated slack blockit in markdownrenderer package and removed plaintext format * chore: updated br with new line in test and logs added * refactor: alert manager templater * feat: added no-op formatter in markdown rederer * chore: return missing variables as sorted list * feat: alert notification processor * chore: refactor notification processor and send processor in ReceiverIntegrations * chore: return isDefaultTemplated true even in case of blank default template * feat: updated email notifier * feat: update ms team notifier with notification processor * refactor: ms teams notifier * chore: msteams note * feat: added notification processor in opsgenie notifier * feat: added notification processor in slack notifier * feat: added notification processor in pagerduty notifier * chore: added IsCustomTemplated helper function in result struct * feat: added notification processor in webhook notifier * chore: updated alertmanagernotify package with updated notifier signature * feat: slack mrkdwn renderer * feat: added new format in markdown renderer * test: simplify TestRenderSlackMrkdwn * test: add new test cases for Slack MRKDWN rendering * feat: updated slack notifier with slack mrkdwn format * fix: webhook notifier update annotations before preparing data * fix: added handling for labels and annotations with `.` and `-` * fix: handled <no value> in templated response * test: added test in notification procesor for no value * refactor: review comments * refactor: lint fixes * chore: updated licenses for notifiers * chore: updated email notifier from upstream * chore: lint fixes * feat: added no value extension to render <no value> in html * feat: email rendering with custom template in notification processor * chore: integration of custom templating in rule manager * chore: added action links to email and slack notifiers * chore: fix linter and merge conflict issues * feat: added `Literal` for CompareOperator and MatchType and expose from ruleManager * chore: error logging + NoOp type definition * feat: return single templating result from with flag for template type * fix: variables with symbols in template * feat: slack mrkdwn renderer * feat: custom raw html renderer to escape <no value> * chore: integrated slack mrkdwn renderer and added NoOp formatter * fix: email template directory for notification processor * chore: remove static templates from pagerduty notifications * chore: removed notifier test files * fix: concurrent rendering in markdown renderer * refactor: changes as per internal review * chore: lint issue * chore: removed special handling for softline break * refactor: removed logger as markdown renderer dependency * refactor: changed markdown renderer from interface to package-level functions * refactor: changes as per internal review * chore: removed notification processor * chore: updated webhook notifier to send templated title and body in notification * refactor: msteams skip logs and traces as factsset, slack code refactor * chore: remove private annotations from pagerduty notifier * chore: updated email template based on new template struct * chore: update receiver integrations * chore: outdated comment * chore: move to templates/alertmanager * chore: address comments * chore: add example for templates --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
6cf22e98dd |
feat(planned-downtime): scope maintenance windows to label expressions (#11186)
* add maintenanceMuteStage to move planned maintenance to alertmanager Rules previously skipped rule.Eval() entirely during maintenance windows. This change moves suppression to MaintenanceMuter, injected as a Stage in the alertmanager notification pipeline. Now rules always evaluate and everys suppression is handled by alertmanager. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: wrap routing pipeline once instead of per-route injection Replace the per-route-entry loop with a single MultiStage wrap so maintenance suppression runs once per dispatch group before routing. * refactor: move maintenance mute stage into custom pipelineBuilder Copy notify.PipelineBuilder locally so we can inject mms between the silence stage and the receiver stage (GossipSettle → Inhibit → TimeActive → TimeMute → Silence → mms → Receiver), matching the correct suppression order the team requires. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: add license header to pipeline_builder.go Copied code originates from Apache-2.0 licensed Prometheus Alertmanager; add dual copyright + SPDX identifier following the repo's convention. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: replace SPDX tag with full Apache 2.0 license boilerplate The full license text is unambiguously compliant with Apache 2.0 Section 4(a), which requires giving recipients "a copy of this License". Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: pass MaintenanceMuter directly to pipelineBuilder Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: remove dead orgID param from task constructors Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * rename buildReceiverStage -> createReceiverStage * refactor: replace maintenanceMuteStage with notify.NewMuteStage MaintenanceMuter already satisfies types.Muter, and pipelineBuilder has its own pb.metrics, so the hand-rolled maintenanceMuteStage wrapper is redundant. Use notify.NewMuteStage(pb.muter, pb.metrics) directly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: hoist MuteStage construction out of the receiver loop MuteStage holds no per-receiver state, so one instance shared across all receivers is sufficient — matching how is/ss are handled upstream. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: always initialize maintenanceStore; remove nil guards Tests now use a real sqlrulestore-backed MaintenanceMuter instead of passing nil. With nil no longer a valid input, remove the nil guards in server.go and pipeline_builder.go. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: move MaintenanceMuter to Server and pass it to pipelineBuilder.New - Remove muter from pipelineBuilder struct and newPipelineBuilder(); pass it as a parameter to New() instead, consistent with inhibitor/silencer - Store muter on Server so GetAlerts can call Mutes() alongside the inhibitor and silencer, ensuring maintenance-suppressed alerts show the correct muted status in API responses Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * remove redundant MemMarker wrapper * feat: surface maintenance-suppressed alerts via mutedBy in GetAlerts Alerts suppressed by an active maintenance window were being correctly muted in the notification pipeline but appeared as state=active in the v2 GetAlerts response, since MaintenanceMuter.Mutes had no marker side-effect (unlike inhibitor/silencer). Add MaintenanceMuter.MutedBy returning the matching window IDs, and plumb a mutedByFunc callback through NewGettableAlertsFromAlertProvider into AlertToOpenAPIAlert. The upstream v2 API forces state=suppressed when mutedBy is non-empty, so the frontend's existing state-based rendering picks it up without further changes. Use the dedicated mutedBy field rather than SilencedBy to avoid violating the "complete set of silence IDs" contract that anything querying silences by ID would rely on. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * code cleanup * refactor: move maintenance (planned downtime) to alertmanager packages Types move from pkg/types/ruletypes/ to pkg/types/alertmanagertypes/: - maintenance.go, recurrence.go, schedule.go (+ tests) Store impl moves from pkg/ruler/rulestore/sqlrulestore/ to pkg/alertmanager/alertmanagerstore/sqlalertmanagerstore/. Maintenance windows mute alerts, so they belong with alertmanager rather than the rule types. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * test: add unit tests for MaintenanceMuter Covers Mutes/MutedBy semantics (empty label, rule match, empty-RuleIDs matches-all, future windows, multi-window) and the result cache (single-fetch within TTL, stale-cache fallback on store error, re-fetch after expiry, concurrency safety). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * Update schema changes * Re-add marker * fix NewMaintenanceStore in tests * Go lint fixes * test: use mockery-generated mock for MaintenanceStore in muter tests Replace hand-written fakeMaintenanceStore with a mockery-generated MockMaintenanceStore, consistent with the alertmanagertest pattern. Also adds MaintenanceStore to .mockery.yml so the mock stays in sync. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: regenerate mocks via make gen-mocks Picks up new MockHandler for the Handler interface in pkg/alertmanager and regenerates MockMaintenanceStore with canonical mockery formatting. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * cleanup test * test: add e2e muting tests for maintenance window behaviour * Add label expression support to planned downtime Alert instances can now be scoped by label expression (e.g. env == "prod"), scoping suppression below the rule level. A window with no rule IDs and a label expression silences any alert whose labels match, regardless of which rule fired it; when rule IDs are also present, the expression is evaluated only within the matched rules. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Remove redundant || undefined from labelExpression assignment * Move label expression evaluation into ShouldSkip ShouldSkip now owns all three suppression checks in sequence: rule ID match → schedule active → label expression. IsActive passes nil labels so the expression check is skipped (no instance labels available for UI status). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * remove redundant LabelSet->map conversion * implement Down migration to drop label_expression column * fix lset type and update openapi spec * fix(tests): resolve envprovider env isolation, factory name length, and ShouldSkip signature Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * remove unused function `evaluateLabelExpression` * chore: rename label expression to scope * test(maintenance): add tests for scope label expression filtering Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test(e2e): verify scope-based maintenance muting in alertmanager flow Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Use `AND` instead of `&&` Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> * fix(maintenance): consolidate label-set-to-env conversion to avoid expr panic Move ConvertLabelSetToEnv to alertmanagertypes so both the maintenance scope evaluator and the route-policy evaluator share one implementation. Dotted label keys (e.g. kubernetes.node) are expanded into nested maps, preventing the expr-lang panic that occurs when one key is a prefix of another. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(planned-downtime): use clickable learn more link in scope tooltip * chore(sqlmigration): renumber add_scope_to_planned_maintenance to 086 078 collided with add_sa_managed_role_txn; bumped to the next free number and reordered registration after add_source_to_dashboard (085). * refactor(maintenance): extract scope expression eval and surface errors - Move ConvertLabelSetToEnv and EvalScopeExpression into expression.go with companion tests in expression_test.go. - EvalScopeExpression now returns (bool, error) instead of swallowing compile/run failures and non-bool outputs; ShouldSkip logs the error via slog.Default() and falls back to not suppressing (safety-first). - Update test fixtures to the SQL-style operator form (`=`, AND, OR) matching the placeholder and reviewer suggestions. * chore: use `=` instead of `==` in expressions * fix(maintenance): satisfy forbidigo/sloglint in scope eval - Replace fmt.Errorf with pkg/errors Wrapf/Newf using a new ErrCodeInvalidScopeExpression code. - Use slog ErrorContext (with context.Background()) instead of Error to satisfy sloglint. * perf(maintenance): fold prefix-conflict detection into ConvertLabelSetToEnv ConvertLabelSetToEnv now returns (env, conflict). The rulebased provider drops its O(n^2) pre-scan and logs based on the flag, restoring the previous O(n*d) cost while keeping the shared helper. * chore: add docs URL for invalid scope * refactor: don't log in types package * remove down migration --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
f47f1ad92b |
Remove unused field from waterfall response (part 1 of memory opt) (#11337)
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* chore: remove unused field from waterfall v3 * chore: update openapi specs * chore: remove debug statements |
||
|
|
67324edb7e |
feat: opamp integration signozspanmapper (#11335)
* feat: opamp integration signozspanmapper * fix: update go.mod * fix: minor changes * fix: keep action as a part of source * fix: update go.mod * fix: address comments * fix: revert changes |
||
|
|
9ba57d323d |
refactor: merge tracedetail typse with spantypes (#11417)
* refactor: merge tracedetail typse with spantypes * chore: update openapi specs |
||
|
|
832930239e |
refactor: cloud integration dashboards migration to DB (#11382)
Some checks failed
build-staging / prepare (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
* chore: added migration setup * feat(sqlmigration): add integration_dashboards table (migration 079) Adds the `integration_dashboards` relations table that stores the integration-specific identity for dashboards provisioned from cloud or builtin integrations. Columns: id, org_id, dashboard_id, provider, slug, created_at, updated_at. Includes a unique index on dashboard_id. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(sqlmigration): backfill cloud integration dashboards to DB (migration 080) One-time idempotent migration that provisions dashboard rows for all orgs with existing cloud integration services where metrics are enabled. Each dashboard is inserted into the `dashboard` table with source="integration" and locked=true, and a companion row is added to `integration_dashboards` with provider="cloud_integrations" and slug="{provider}-{service}-{dashboard}" (e.g. aws-alb-overview). Idempotency is enforced by checking (org_id, provider, slug) on integration_dashboards before each insert. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(sqlmigration): clean up stale 079 artifacts, add 079 schema migration Remove the pre-rename 079_migrate_cloud_integration_dashboards.go and 079_cloud_integration_dashboards/ directory that were left behind when the backfill migration was renumbered to 080. Add the missing 079_add_integration_dashboards.go (schema-only migration creating the integration_dashboards table) which provider.go already references. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: adding comment for fk * refactor: renaming table name * refactor: rename and restructure cloud integration dashboard migration types * chore: file rename * refactor: dashboard creation and listing flow change * refactor: removing loose strings * refactor: adding DeleteBySource on dashboard module * refactor: review changes and update service flow change * refactor: simplify comments * ci: lint staticcheck fix * refactor: renaming migration and adding integration tests * ci: py fmt lint fixes * feat: adding ListSharedServices store method * ci: golangci-lint fix * refactor: code cleanup * chore: revert changed due to js lint * refactor: test assertion changes * refactor: using bindparam for sql generation * chore: migrate integration dashboards json to v5 (#11419) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> |
||
|
|
5c54a2537c | chore: arrays non-nullable (#11388) | ||
|
|
bf201710a7 |
feat(infra-monitoring): allow order by primary name column in v2 apis (#11264)
Some checks failed
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
build-staging / prepare (push) Has been cancelled
* chore: baseline setup * chore: endpoint detail update * chore: added logic for hosts v3 api * fix: bug fix * chore: disk usage * chore: added validate function * chore: added some unit tests * chore: return status as a string * chore: yarn generate api * chore: removed isSendingK8sAgentsMetricsCode * chore: moved funcs * chore: added validation on order by * chore: added pods list logic * chore: updated openapi yml * chore: updated spec * chore: pods api meta start time * chore: nil pointer check * chore: nil pointer dereference fix in req.Filter * chore: added temporalities of metrics * chore: added pods metrics temporality * chore: unified composite key function * chore: code improvements * chore: added pods list api updates * chore: hostStatusNone added for clarity that this field can be left empty as well in payload * chore: yarn generate api * chore: return errors from getMetadata and lint fix * chore: return errors from getMetadata and lint fix * chore: added hostName logic * chore: modified getMetadata query * chore: add type for response and files rearrange * chore: warnings added passing from queryResponse warning to host lists response struct * chore: added better metrics existence check * chore: added a TODO remark * chore: added required metrics check * chore: distributed samples table to local table change for get metadata * chore: frontend fix * chore: endpoint correction * chore: endpoint modification openapi * chore: escape backtick to prevent sql injection * chore: rearrage * chore: improvements * chore: validate order by to validate function * chore: improved description * chore: added TODOs and made filterByStatus a part of filter struct * chore: ignore empty string hosts in get active hosts * feat(infra-monitoring): v2 hosts list - return counts of active & inactive hosts for custom group by attributes (#10956) * chore: add functionality for showing active and inactive counts in custom group by * chore: bug fix * chore: added subquery for active and total count * chore: ignore empty string hosts in get active hosts * fix: sinceUnixMilli for determining active hosts compute once per request * chore: refactor code * chore: rename HostsList -> ListHosts * chore: rearrangement * chore: inframonitoring types renaming * chore: added types package * chore: file structure further breakdown for clarity * chore: comments correction * chore: removed temporalities * chore: pods code restructuring * chore: comments resolve * chore: added json tag required: true * chore: removed pod metric temporalities * chore: removed internal server error * chore: added status unauthorized * chore: remove a defensive nil map check, the function ensure non-nil map when err nil * chore: cleanup and rename * chore: make sort stable in case of tiebreaker by comparing composite group by keys * chore: regen api client for inframonitoring Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: added phase counts feature * chore: added queries for pod phase counts in custom group by * chore: added required tags * chore: added support for pod phase unknown * chore: removed pods - order by phase * chore: improved api description to document -1 as no data in numeric fields * fix: rebase fixes * chore: added unknown phase count * fix: isPodUIDInGroupBy in buildPodRecords * chore: 3 cte --> 2 cte * chore: pod phase with local table of time series as counts * chore: comment correction * chore: corrected comment * chore: value column for samples table added * chore: removed query G for phase counts * chore: rename variable * chore: added PodPhaseNum constants to types * feat(infra-monitoring): v2 pods list apis - phase counts when custom grouping (#11088) * chore: added phase counts feature * chore: added queries for pod phase counts in custom group by * chore: added unknown phase count * fix: isPodUIDInGroupBy in buildPodRecords * chore: 3 cte --> 2 cte * chore: pod phase with local table of time series as counts * chore: comment correction * chore: corrected comment * chore: value column for samples table added * chore: removed query G for phase counts * chore: rename variable * chore: added PodPhaseNum constants to types * chore: nodes list v2 full blown * chore: metadata fix * chore: updated comment * chore: namespaces code * chore: v2 nodes api * chore: rename * chore: v2 clusters list api * chore: namespaces code * chore: rename * chore: review clusters PR * chore: pvcs code added * chore: updated endpoint and spec * chore: pvcs todo * chore: added condition * chore: added filter * chore: added code for deployments * chore: query nit * chore: statefulsets code added * chore: base filter added * chore: added base deployments change * chore: added base condition * chore: v2 jobs list api added * chore: added daemonsets api * chore: added pod phase counts * chore: for pods and nodes, replace none with no_data * chore: node and pod counts structs added * chore: namespace record uses PodCountsByPhase * chore: cluster record uses PodCountsByPhase, NodeCountsByReadiness * chore: deployment record uses PodCountsByPhase * chore: statefulset record uses PodCountsByPhase * chore: job record uses PodCountsByPhase * chore: daemonset record uses PodCountsByPhase * chore: added remaining metrics to check * chore: metrics existence check * chore: statefulset metrics added * chore: added jobs metrics * chore: added metrics * chore: feature added * chore: cosmetic changes * chore: replaced common order by key with entity specific attr key * chore: moved paginateByName to types and added unit tests * chore: added pageGroups * chore: assert added instead of require --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Ashwin Bhatkal <ashwin96@gmail.com> |
||
|
|
9f60bdf54a |
chore: create source field in dashboards (#11367)
* chore: create source field in dashboards * chore: consolidate checks to module * chore: run generate * chore: address review comments * chore: separate test file * chore: address review comments |