1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-12 10:04:29 +02:00
opentelemetry-go/codes/codes.go
Tyler Yahn efd4e3a383
Remove google.golang.org/grpc/codes dependency from API by adding an equivalent codes package (#1046)
* Add otel/codes package to replace google.golang.org/grpc/codes

* Replace google.golang.org/grpc/codes with otel/codes

* Update opentracing bridge to use OTel codes

* Update semconv to use OTel codes

* Update SDK to convert from OTel codes to gRPC

* go mod tidy

* Add change to CHANGELOG

* Fix word from feedback
2020-08-10 09:17:09 -07:00

90 lines
4.0 KiB
Go

// Copyright The OpenTelemetry Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Package codes defines the canonical error codes used by OpenTelemetry.
//
// It conforms to [the OpenTelemetry
// specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#statuscanonicalcode).
// This also means that it follows gRPC codes and is based on
// [google.golang.org/grpc/codes](https://godoc.org/google.golang.org/grpc/codes).
//
// This package was added to this project, instead of using that existing
// package, to avoid the large package size it includes and not impose that
// burden on projects using this package.
package codes
// Code is an 32-bit representation of a status state.
type Code uint32
// WARNING: any changes here must be propagated to the
// otel/sdk/internal/codes.go file.
const (
// OK means success.
OK Code = 0
// Canceled indicates the operation was canceled (typically by the
// caller).
Canceled Code = 1
// Unknown error. An example of where this error may be returned is if an
// error is raised by a dependant API that does not contain enough
// information to convert it into a more appropriate error.
Unknown Code = 2
// InvalidArgument indicates a client specified an invalid argument. Note
// that this differs from FailedPrecondition. InvalidArgument indicates
// arguments that are problematic regardless of the state of the system.
InvalidArgument Code = 3
// DeadlineExceeded means a deadline expired before the operation could
// complete. For operations that change the state of the system, this error
// may be returned even if the operation has completed successfully.
DeadlineExceeded Code = 4
// NotFound means some requested entity (e.g., file or directory) was not
// found.
NotFound Code = 5
// AlreadyExists means some entity that we attempted to create (e.g., file
// or directory) already exists.
AlreadyExists Code = 6
// PermissionDenied means the caller does not have permission to execute
// the specified operation. PermissionDenied must not be used if the caller
// cannot be identified (use Unauthenticated instead for those errors).
PermissionDenied Code = 7
// ResourceExhausted means some resource has been exhausted, perhaps a
// per-user quota, or perhaps the entire file system is out of space.
ResourceExhausted Code = 8
// FailedPrecondition means the operation was rejected because the system
// is not in a state required for the operation's execution.
FailedPrecondition Code = 9
// Aborted means the operation was aborted, typically due to a concurrency
// issue like sequencer check failures, transaction aborts, etc.
Aborted Code = 10
// OutOfRange means the operation was attempted past the valid range.
// E.g., seeking or reading past end of file. Unlike InvalidArgument, this
// error indicates a problem that may be fixed if the system state
// changes.
OutOfRange Code = 11
// Unimplemented means the operation is not implemented or not
// supported/enabled in this service.
Unimplemented Code = 12
// Internal means an internal errors. It means some invariants expected by
// underlying system has been broken.
Internal Code = 13
// Unavailable means the service is currently unavailable. This is most
// likely a transient condition and may be corrected by retrying with a
// backoff.
Unavailable Code = 14
// DataLoss means unrecoverable data loss or corruption has occurred.
DataLoss Code = 15
// Unauthenticated means the request does not have valid authentication
// credentials for the operation.
Unauthenticated Code = 16
)