The list variable defaultValue was an inline string | []string oneOf,
which downstream codegen can't canonicalize: tfplugingen-openapi rejects
the inline scalar-or-array multi-type, and oapi-codegen has no named type
to attach the union's Marshal/UnmarshalJSON to.
Shape the vendored variable.DefaultValue as the named VariableDefaultValue
oneOf via a reflector InterceptSchema hook and let defaultValue $ref it,
instead of overriding the property inline. Regenerate the OpenAPI spec and
frontend client accordingly.
* 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>
* 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(authz): add transaction group schema and validations
* fix(authz): drop constant errorFormat param from wrapValidationError
unparam flagged wrapValidationError's errorFormat parameter since all
call sites passed the same "%s: %s". Inline the format and trim the
argument at each call site. No behavior change.
* feat(authz): better error handling
* chore(authz): suffix generated web settings schema with .schema.json
Rename webSettings.json to webSettings.schema.json to follow the JSON
Schema file-naming convention and match transactionGroups.schema.json.
Updates the generator output path, the json2ts input + banner in
package.json, and the generated banner comment.
* feat(authz): add schema titles
* 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
* 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
* 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
* 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
ServeOpenAPI's nil-response branch still passed WithContentType, so any route
with Response == nil but a ResponseContentType set (notably 204 No Content)
emitted a content block in the generated spec. Clients then try to decode an
empty body and fail — e.g. "unexpected end of JSON input" on
DELETE /api/v1/service_accounts/{id}.
Omit the content type when Response is nil. Regenerate docs/api/openapi.yml (18
bodyless responses drop their content block) and the frontend orval client.
Signed-off-by: grandwizard28 <vibhupandey28@gmail.com>
* 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 be30e2ffd2.
* fix: added suggestions per additonal error
* fix: generate openapi
* fix: remove valid references
* fix: removeg valid references for select and group by and only did you mean is kept
* fix: unit test
* fix: use binding for deconding for both ee and community
* fix: trim down suggestions methods
* fix: added renamed methods and moved stuff around
* fix: typo
* fix: removed json decoder
* fix: added empty check
* fix: retain addtional
* fix: reverted re-structing of file
* feat(statsreporter): expose collected stats via GET /api/v1/stats
Extract per-org stats collection out of the analytics reporter into an
always-on Aggregator (collector fan-out + telemetry-store counts) shared
by the reporter and a new HTTP handler. The GET /api/v1/stats endpoint
returns the caller's org stats regardless of whether scheduled reporting
is enabled.
* refactor(statsreporter): collect telemetry stats via the querier
Move the trace/log/metric row-count and last-observed queries out of the
stats aggregator and into the querier, which now implements
statsreporter.StatsCollector. The aggregator becomes a pure collector
fan-out and no longer depends on telemetrystore; the querier is wired in
as one of the stats collectors.
* chore: regenerate openapi spec and frontend client
Backend docs/api/openapi.yml gains the GET /api/v1/stats (GetStats)
operation; the Orval client gains a useGetStats hook and GetStats200
type.
* chore: remove comment from querier Collect
* fix(statsreporter): use MustNewUUID for org from claims
Claims come from validated auth context, so the org UUID is guaranteed
valid; drop the dead NewUUID error branch.
* fix(flagger): use MustNewUUID for org from claims
Claims come from validated auth context, so the org UUID is guaranteed
valid; drop the dead NewUUID error branch.
* docs(contributing): note MustNewUUID for IDs from claims
* perf(querier): combine count and last-observed into one query per signal
Each signal's COUNT(*) and max(timestamp) scan the same table, so fetch
both in a single query — 3 queries instead of 6. Same emitted keys and
empty-table guard.
* 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>
* 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
* 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: 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
* 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
* 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
* 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>
* 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
* feat(web): add support for sentry and pylon
* feat(web): add support for sentry and pylon
* feat(web): add support for sentry and pylon
* feat(web): removed bootdata.ts and maintaining websettings as single source of truth
* feat(web): update the example.yaml
---------
Co-authored-by: SagarRajput-7 <sagar@signoz.io>