- Replace error type assertions with errors.As in DefaultFormattingStrategy #PR 353
- Dummy segments don't need cancel go routine #PR 365
- Strip X-Amz-Security-Token from SQL URIs #PR 367
- Upgrading Go Version #PR 379
- Removes deprecated method checks in SQL instrumentation PR #341
- Migrates private API named httpTrace public PR #329
- Migrates to use
grpc.SetHeader
API PR #312 - Removes support for go dep PR #343
- Replace error type assertions with
errors.As
PR #353
- Fixes segment leaking issues in
BeginSegmentWithSampling
API PR #327 - Updates github.com/valyala/fasthttp dependency to v1.34.0 to fix security vulnerability issue PR #351
- AWS SDK v2 instrumentation support PR #309
- Fixed appending to existing gRPC context PR #308
- Fixed memory leak issue on fasthttp handler PR #311
- Fixed panic issue when segment is not present PR #316
- Fix
AWS_XRAY_TRACING_NAME
environment variable issue when directly callingxray.BeginSegment
API PR #304
- Fix panic issue when call
AddError
function PR #288
- Added SQL tracing name support (for database with same name) PR #273
- Added automated release workflow PR #274
- Refresh messages are
debug
to reduce log noise. PR #241 - Added
runtime
andruntime_version
keys PR #245 BeginSegment
API honors sampling rule based onServiceName
PR #244- Added
IGNORE_ERROR
mode for context missing strategy PR #253 - Added X-Ray Go SDK sample apps and added Github workflow to publish sample app image tags to ECR PR #261
- Added Github workflow for end to end Integration Test for X-Ray Go SDK PR #270
- Fix typo (Metdata -> Metadata) PR #239
- Remove Deprecated
set-env
andadd-path
syntax from workflow PR #267 - Fix elastic beanstalk solution stack name PR #271
- Added Disabling XRay SDK Support. PR #219
- Random value generator only used by SDK. PR #183
- Fixed deadlock issue for non reported segments. PR #223
- Removed plugins under "github.com/aws/aws-xray-sdk-go/plugins/“ directory and removed deprecated xray.SQL API (sql.go file). PR #215
- Added Dummy flag support to reduce operation of non sampled traces. PR #194
- Benchmark improvements to remove error logs. PR #210
- Updates golangci-lint version. PR #213
- Benchmark instructions to run benchamrk suite, cpu profiling and memory profiling of SDK. PR #214
- Fixes bug in reservoir test cases. PR #212
- Custom SQL driver. PR #169
- Efficient implementation of wildcard matching. PR #149
- Whitelisting Sagemaker runtime InvokeEndpoint operation. PR #154
- Added context missing environment variable support. PR #161
- Added stale bot support for Github Repository. PR #162
- Upgrade golangci-lint version. PR #166
- Fixes golint warnings. PR #170
- Added support for Git Actions. PR #172
- README update for presign request. PR #176
- Fix data races in testing. PR #177
- Fixes sampling issue in calling BeginSegment API directly. PR #187
- Captures error type from panic. PR #195
- Upgrades Sqlmock to 1.4.1 . PR #190
- Fixes data race in default sampling strategy. PR #196
- Added benchmark support to data races and performance issues. PR #197
- Upgrades Travis CI to add Go 1.14 . PR #198
- Fixes data race in emitter. PR #200
- Fixing bi-directional locking for parent-child segments and modifying lock on Segment struct to RWMutex PR #140
- Support capturing AWS SNS Topic ARN. PR #132
- Add
xray.AWSSession
to install handlers on session. PR #97
- Remove Glide(dependency management tool) support. PR #129
- Update README regarding Lambda use cases. PR #128
- Fix a bug to close in_progress response subsegment. PR #125
- Move mutex to private member for sampling. PR #123
- Fix format after running Lints. PR #117
- Updates
sampling.NewProxy
method to be private. PR #93
- Fixes a bug for failing to close in-progress
connect
subsegments in some cases. PR #102 - Fixes data races condition. PR #103
- Fixes a nil pointer issue. PR #109
- Refactors
newGlobalConfig
to avoid initializing log. PR #96 - Adds
-race
to travis test script. PR #104 - Fixes data race condition for parallel http client request. PR #100
- Adds support for
tx.Prepare
. PR #95 - Fixes race bugs with
ClientTrace
. PR #115 - Updates lock abstraction for
defaultLogger
. PR #113 - Adds
golangci-lint
into travis CI. PR #114 - Fixes uncaught error on SQL url parse. PR #121
- Dropped support for go versions 1.7 and 1.8. Users will need to use go version 1.9 or higher. PR #91
- Adds support for go dep and go modules. PR #90
- Fixes a bug where optional interfaces on
http.ResponseWriter
(e.g.http.Flusher
,http.CloseNotifier
, etc.) were not visible due to how the xray Handler wrapped thehttp.ResponseWriter
. PR #91
xray.Config{}
fieldsLogLevel
andLogFormat
are deprecated and no longer have any effect. Users will have to reset their min log level if they weren't using the default of "info" usingxray.SetLogger()
. The log levelsTrace
andTracef
are replaced byDebug
andDebugf
respectively. PR #82, Issue #15
- Fix http2 datarace in unit test: PR #72
- Support passing customized emitter: PR #76
- Apply Context Missing Strategy if segment is nil in SQL
- Remove error message content check for certain daemon config unit tests
- Adding hostname support for daemon address parsing
- Increase unit test coverage
samplingRule
is an exported type : PR#67- Renamed
SamplingRule
structure toProperties
- The default sampling strategy is
CentralizedStrategy
that launches background tasks to poll sampling rules from X-Ray backend. See the new default sampling strategy in more details here: Link - The
ShouldTrace()
function in theStrategy
interface now takes aRequest
structure for sampling rule matching and returnsDecision
object - Updated
aws-sdk-go
version inglide.yaml
file to1.15.23
. - Modified
Rule
structure : It containssamplingRule
nested structure
- Environment variable
AWS_XRAY_DAEMON_ADDRESS
now takes an additional notation intcp:127.0.0.1:2000 udp:127.0.0.2:2001
to set TCP and UDP destination separately. By default it assumes a X-Ray daemon listening to both UDP and TCP traffic on 127.0.0.1:2000. - Update DefaultSamplingRules.json file. i.e. service_name has been replaced to host and version changed to 2. SDK still supports v1 JSON file.
- Fix httptrace datarace : PR #62
- Fix sub-segment datarace : PR #61
- Traced aws client allows requests to proceed without segments presenting.
- Increase unit test coverage.
- Update
aws-sdk-go
version inglide.yaml
file.
- Flush subsegments generated inside Lambda function.
- Capture extra request id with header
x-amz-id-2
for AWS S3 API calls.
- Fix data race condition in BeginSubsegment and Close methods.
- Remove port number in client_ip when X-Forwarded_For is empty.
- Fix version issue for httptrace library.
- Assign subsegment a defined name when HTTP interceptor creates an invalid subsegment due to URL is not available.
- Fetch ContextMissingStrategy from segment if its subsegment is nil.
- Support for tracing within AWS Lambda functions.
- Support method to inject configuration setting in
Context
. - Support send subsegments method.
- Set origin value for each plugin and also show service name in segment document plugin section.
- Remove attempt number when AWS SDK retries.
- Make HTTP requests if segment doesn't exist.
- Add Go SDK Version, Go Compiler and X-Ray SDK information in segment document.
- Set remote value when AWS request fails due to a service-side error.
- Refactor code to fit Go Coding Standard.
- Update README.
aws-xray-sdk-go/xray
: make HTTP request if segment cannot be found.