logs-analyzer/signoz/pkg/query-service/errors/clickhouse.go

43 lines
1.1 KiB
Go
Raw Permalink Normal View History

2024-09-02 22:47:30 +03:00
package errors
import "errors"
var (
// ErrResourceBytesLimitExceeded is returned when the resource bytes limit is exceeded
ErrResourceBytesLimitExceeded = NewResourceLimitError(errors.New("resource bytes limit exceeded, try applying filters such as service.name, etc. to reduce the data size"))
// ErrResourceTimeLimitExceeded is returned when the resource time limit is exceeded
ErrResourceTimeLimitExceeded = NewResourceLimitError(errors.New("resource time limit exceeded, try applying filters such as service.name, etc. to reduce the data size"))
)
type ResourceLimitError struct {
err error
}
func NewResourceLimitError(err error) error {
return &ResourceLimitError{err: err}
}
func (e *ResourceLimitError) Error() string {
return e.err.Error()
}
func (e *ResourceLimitError) Unwrap() error {
return e.err
}
func IsResourceLimitError(err error) bool {
if err == nil {
return false
}
var target *ResourceLimitError
return errors.As(err, &target)
}
func (e *ResourceLimitError) MarshalJSON() ([]byte, error) {
return []byte(`"` + e.Error() + `"`), nil
}
func (e *ResourceLimitError) UnmarshalJSON([]byte) error {
return nil
}