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
DatastoreShimwill now respect specifiedafterhandlers.Previously on methods like
DatastoreShim#recordQuerytheafterhandler would be dropped. The property is now correctly propagated to the underlyingShim#recordcall.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.