Fixes
Added a type check to attribute validation, restricting values to primitive types (but not
undefined
).Previously the agent was only enforcing byte limits on string values, resulting in overly large arrays being collected. This brings the agent in line with other language agents.
The
DatastoreShim
will now respect specifiedafter
handlers.Previously on methods like
DatastoreShim#recordQuery
theafter
handler would be dropped. The property is now correctly propagated to the underlyingShim#record
call.The agent will now check that a specified parent segment is part of an active segment before running a method under instrumentation.
Previously the agent would unconditionally run a method under a specified parent. The shim expects the parent to exist and be active, and will throw errors in the case where the parent belongs to an inactive transaction.