mastra-ai/mastra · error · MastraError
OBSERVABILITY_STORAGE_GET_FEEDBACK_TIME_SERIES_NOT_IMPLEMENTED
OBSERVABILITY_STORAGE_GET_FEEDBACK_TIME_SERIES_NOT_IMPLEMENTED
Error message
This storage provider does not support feedback time series
What it means
Thrown by the base MastraObservabilityStorage class when getFeedbackTimeSeries() is called on a provider that has not overridden it. Time-series aggregation of feedback over time buckets is an optional storage capability, and the base class default is to fail fast with this error.
Source
Thrown at packages/core/src/storage/domains/observability/base.ts:708
throw new MastraError({
id: 'OBSERVABILITY_STORAGE_GET_FEEDBACK_AGGREGATE_NOT_IMPLEMENTED',
domain: ErrorDomain.MASTRA_OBSERVABILITY,
category: ErrorCategory.SYSTEM,
text: 'This storage provider does not support feedback aggregation',
});
}
async getFeedbackBreakdown(_args: GetFeedbackBreakdownArgs): Promise<GetFeedbackBreakdownResponse> {
throw new MastraError({
id: 'OBSERVABILITY_STORAGE_GET_FEEDBACK_BREAKDOWN_NOT_IMPLEMENTED',
domain: ErrorDomain.MASTRA_OBSERVABILITY,
category: ErrorCategory.SYSTEM,
text: 'This storage provider does not support feedback breakdown',
});
}
async getFeedbackTimeSeries(_args: GetFeedbackTimeSeriesArgs): Promise<GetFeedbackTimeSeriesResponse> {
throw new MastraError({
id: 'OBSERVABILITY_STORAGE_GET_FEEDBACK_TIME_SERIES_NOT_IMPLEMENTED',
domain: ErrorDomain.MASTRA_OBSERVABILITY,
category: ErrorCategory.SYSTEM,
text: 'This storage provider does not support feedback time series',
});
}
async getFeedbackPercentiles(_args: GetFeedbackPercentilesArgs): Promise<GetFeedbackPercentilesResponse> {
throw new MastraError({
id: 'OBSERVABILITY_STORAGE_GET_FEEDBACK_PERCENTILES_NOT_IMPLEMENTED',
domain: ErrorDomain.MASTRA_OBSERVABILITY,
category: ErrorCategory.SYSTEM,
text: 'This storage provider does not support feedback percentiles',
});
}
}
View on GitHub (pinned to 75dd419e61)
Solutions
- Use a storage provider that implements getFeedbackTimeSeries (first-party DB adapters).
- Override getFeedbackTimeSeries in your adapter, bucketing feedback records by the requested interval and returning GetFeedbackTimeSeriesResponse.
- Feature-detect/wrap the call so callers receive an empty series or a clear 'unsupported' response instead of a crash.
- Upgrade the storage adapter package so it matches the core version that introduced this API.
Example fix
// before
const series = await customStorage.getFeedbackTimeSeries({ interval: '1d' }); // throws
// after
class MyStorage extends MastraObservabilityStorage {
async getFeedbackTimeSeries(args: GetFeedbackTimeSeriesArgs): Promise<GetFeedbackTimeSeriesResponse> {
return this.aggregateFeedbackByInterval(args);
}
} Defensive patterns
Strategy: fallback
Validate before calling
if (typeof (storage as any).getFeedbackTimeSeries !== 'function') { /* unsupported */ } Type guard
function supportsFeedbackTimeSeries(s: unknown): s is MastraObservabilityStorage & { getFeedbackTimeSeries(a: GetFeedbackTimeSeriesArgs): Promise<GetFeedbackTimeSeriesResponse> } {
return typeof (s as any)?.getFeedbackTimeSeries === 'function';
} Try / catch
try {
series = await storage.getFeedbackTimeSeries(args);
} catch (e) {
if ((e as MastraError).id === 'OBSERVABILITY_STORAGE_GET_FEEDBACK_TIME_SERIES_NOT_IMPLEMENTED') {
series = emptyTimeSeriesFallback;
} else throw e;
} Prevention
- Verify adapter support for feedback time-series before wiring dashboards.
- Use feature flags to disable time-series widgets for unsupported backends.
- Keep storage adapters upgraded in lockstep with core.
- Add an integration test asserting the API surface of your chosen adapter.
When it happens
Trigger: Calling observabilityStorage.getFeedbackTimeSeries(args) against an adapter inheriting the base implementation (no feedback time-series support).
Common situations: Building dashboards over a custom storage adapter; calling feedback time-series endpoints after switching storage backends to one with less coverage; version drift between @mastra/core and the storage adapter.
Related errors
- OBSERVABILITY_STORAGE_GET_METRIC_TIME_SERIES_NOT_IMPLEMENTED
- OBSERVABILITY_STORAGE_GET_SCORE_TIME_SERIES_NOT_IMPLEMENTED
- OBSERVABILITY_STORAGE_CREATE_FEEDBACK_NOT_IMPLEMENTED
- OBSERVABILITY_STORAGE_BATCH_CREATE_FEEDBACK_NOT_IMPLEMENTED
- OBSERVABILITY_STORAGE_LIST_FEEDBACK_NOT_IMPLEMENTED
AI-assisted analysis of mastra-ai/mastra@75dd419e61 (2026-08-30).
Data as JSON: /api/errors/de746577ccd7c0ae.
Report an issue: GitHub.