* 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: added types and constants
* chore: added specs for all component types
* chore: added attrs presence check function
* chore: added onboarding splits
* chore: regen api client for inframonitoring
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* 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 onboarding api
* chore: renamed method
* chore: get onboarding spec
* chore: simplify
* chore: readability improvement
* chore: added a note from otel
* chore: added a note from otel
* 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: updated comment
* chore: onboarding specs updated to match v2 infra-monitoring apis
* chore: integration tests added
* chore: documentation future links added
* chore: added new metrics existence function + modified return types
* chore: not required parameter removal
* chore: reformatted integration tests
* chore: renamed onboarding -> checks
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Ashwin Bhatkal <ashwin96@gmail.com>
* fix: enable opamp for llmpricing
* fix: test files
* chore: cleanups
* fix: don't deploy to opamp if ff is disabled
* fix: enable spanmapper behild feature flag
* chore: metric_name required checks removed
* refactor(inframonitoring): drop required-metrics test, add test hosts_warnings
* chore: updated integration tests for pods
* chore: updated integration tests for volumes
* chore: updated integration tests for nodes
* chore: updated integration tests for clusters and deployments
* chore: updated statefulsets integration tests
* chore: updated integration tests for jobs and daemonsets
* chore: removed unwanted provisional comments
* test(inframonitoring): dedupe metric-availability warning fixtures, reuse existing datasets
* test(inframonitoring): isolate hosts metric-key-pair warning fixture
Scenario-2 shared host acc-h1 + the accuracy fixture with
test_hosts_value_accuracy, causing a deterministic CI failure (empty
warnings). Restore the dedicated kp-h1 fixture + deployment.environment
groupBy so the warning assertion never depends on data shared with
another test.
* chore: removed unimportant tests for same thing
* test(inframonitoring): drop obsolete metric-key-pair warning scenario
PR #11835 removed the "key X not found on metric" warning from the metric
statement builder (lexer-derived check can't tell a key from a value, so
$variables got false-flagged). The metric_key_pair_not_seen scenario asserted
that now-removed warning, so it fails deterministically after merging main.
Remove the scenario and its orphaned fixture; never-seen-metric coverage
("never been received", still emitted) stays.
* chore: metricName to post body for POST /api/v2/metrics/{metric_name}/metadata
* chore: metricName to query param for GET /api/v2/metrics/{metric_name}/metadata
* chore: added metricName in api get metric attributes
* chore: highlights api modified
* chore: alerts api modified
* chore: dashboards api modified
* chore: description added for metric_name query params
* feat(metrics-explorer): integrate metricName query/body API change in frontend (#11818)
* feat(metrics-explorer): integrate metricName query/body API change in frontend
The metrics-explorer endpoints moved metric_name off the URL path: the
five GETs (attributes, metadata, highlights, alerts, dashboards) now take
a required `metricName` query param, and POST /metadata reads metricName
from the request body.
- Regenerate the orval client from the updated openapi spec, so the GET
helpers build `/api/v2/metrics/<op>?metricName=...` (URL-encoded, so
slashed cloud metric names work) and updateMetricMetadata posts to
`/api/v2/metrics/metadata` with metricName in the body.
- Collapse the useGetMetricAttributes call to the single merged params
object (metricName + start/end).
- Drop the now-removed pathParams wrapper from both updateMetricMetadata
call sites; the payload builders already include metricName in the body.
- Update the Metadata test to assert metricName inside the request body.
* revert(metrics-explorer): drop slashed-metric-name band-aid guards
These two defensive guards were added as temporary workarounds for the
metric_name-with-slash bug (SigNoz/signoz#11527, #11528), which returned
200 + HTML instead of JSON. The root cause is fixed by moving metricName
to a query/body param, so the band-aids are no longer needed and revert
to the original intended code.
- MetricDetails.tsx: `!metricMetadataResponse?.data` -> `!metricMetadataResponse`
- AllAttributes.tsx: `?.data?.attributes` -> `?.data.attributes`
* chore: added description for metricName query params
---------
Co-authored-by: Ashwin Bhatkal <ashwin96@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* 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
* chore: deployments -> add default namespace group by
* chore: added integration tests for statefulsets
* chore: namespace group by for jobs
* chore: namespace group by for daemonsets
* chore: added group by clustername for all workloads and integration tests for the same
* chore: fix py fmt for integration tests
* chore: added group by namespace, cluster for pvcs
* chore: added cluster name default group by for namespaces monitoring
* 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>
* 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
* chore: deployments -> add default namespace group by
* chore: added integration tests for statefulsets
* chore: namespace group by for jobs
* chore: namespace group by for daemonsets
* chore: added group by clustername for all workloads and integration tests for the same
* chore: fix py fmt for integration tests
* 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
* 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>
* 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
* 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>
* 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
* chore: added fastPath
* chore: rearrange and readable
* chore: build fix
* chore: combining two functions into a common flow
* chore: variable name update:
* feat(metrics-explorer): fast path for get treemap in case of no filter (#11459)
* chore: fastpath for treemap
* chore: added fastpath function
* chore: refactor fir common code
* chore: refactor changes
* chore: added tests for get stats and get treemap
* 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
* 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
* fix(authn): include base path in SSO callback and error-redirect URLs
The SAML ACS URL and the OIDC/Google redirect URLs were built from the
site URL host plus a hardcoded path (e.g. /api/v1/complete/saml), dropping
the base path. When SigNoz is served under a sub-path (global.external_url
with a path, e.g. https://example.com/signoz), the API is served at
<prefix>/api/v1/complete/<provider>, so the identity provider was told to
call back to a path without the prefix and hit a 404.
Thread global.Config into the SAML/OIDC/Google callback providers and the
session handler, and prepend global.Config.ExternalPath() to the callback
paths and the SSO error redirect to /login. Root deployments are
unchanged since ExternalPath() returns "" without a configured sub-path.
* fix(authn): run callbackauthn suite with base path
* refactor(tests): self-contained base-path fixture for callbackauthn
Move the base-path setup out of the shared create_signoz factory and into
a package-scoped signoz fixture in the callbackauthn suite's own conftest
(same pattern as rootuser/conftest.py). When --base-path is set the fixture
appends SIGNOZ_GLOBAL_EXTERNAL__URL and the url-config prefix locally;
without it it behaves exactly like the global fixture. The shared factory
and docker config are left untouched.
* test(authn): add base-path SSO integration suite
Adds a dedicated `basepath` integration suite that serves SigNoz under a
hardcoded /signoz prefix (SIGNOZ_GLOBAL_EXTERNAL__URL) and exercises the SAML
and OIDC happy-path logins end-to-end. Every SigNoz API call is issued under
the prefix and the IdP callback (ACS / redirect URI) is registered with the
prefix, so the flow only passes when the backend builds prefixed callback URLs.
The shared TestContainerUrlConfig and create_signoz factory are left untouched.
The suite's conftest shadows the same-named auth fixtures (create_user_admin,
get_token, get_session_context, apply_license) with base-path-aware variants and
reuses the Keycloak/browser fixtures, which are not under the base path.
Google SSO is not covered: it requires the real accounts.google.com issuer and
a real Google login, so it cannot run against the local Keycloak IdP; it shares
the identical path.Join(ExternalPath, redirectPath) callback logic that SAML
and OIDC validate.
* revert: drop in-place base-path wiring from integration harness
Removes the --base-path flag, TestContainerUrlConfig.base_path, the idp.py and
02_saml.py .get() changes, and the callbackauthn base-path conftest fixture.
Base-path SSO is now covered by the dedicated `basepath` suite, so the shared
harness (TestContainerUrlConfig, create_signoz, callbackauthn) is back to its
original root-only form.
* refactor(test): remove apply_license fixture
* refactor(test): extract base-path-aware auth factories
Extract the session-context / token / token-pair / admin-registration logic
in fixtures/auth.py into reusable factory functions that take an optional
base_path (token_getter, session_context_getter, tokens_getter, register_admin),
with the fixtures delegating to them. Default base_path="" is byte-identical for
existing callers.
The basepath suite's conftest now reuses these factories with the /signoz prefix
as thin one-line fixture overrides instead of duplicating the request logic.
* refactor(test): give base-path admin registration a distinct cache key
register_admin takes an optional cache_key (default "create_user_admin"); the
basepath suite passes a distinct key so that under --reuse the admin marker
cached against the signoz-base-path container is not restored for (or from)
other suites' default signoz instance.
* 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>
* chore: add metric for waterfall monitoring
Gauge for config limit and counter to count large traces
* chore: use traces instead of tracedetail in metric name
* chore: try removing high cardinality attributes
* chore: use typed argument in logs
* chore: add another metric to get idea of trace sizes
* chore: change config namespace to trace instead of tracedetail
To make it consistant with metric namespaces
* chore: add unit to the windowed response count metric
* chore: use metrics names as per otel conventions
* chore: use constants for metric attributes
* refactor: return error on metric creation failure
* Revert "refactor: return error on metric creation failure"
This reverts commit 091c93e80b.
* chore: panic on metric initiliazation error
* 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
* 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>
* 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
* 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
* 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>
* 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>
* 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>