Note
|
Release notes are best read in our documentation at elastic.co |
-
User interaction click transactions will report correct transaction names for IE11 {pull}1511[#1511]
-
Add Support for Interaction to Next Paint (INP) metric. This new metric, which replaces FID, will be available in the User Experience App from version 8.12.0 of the Elastic Stack. {pull}1462[#1462]
-
Previously, there was a start time discrepancy between sampled and unsampled page load transactions, which was wrong. From now on, the agent will set the same start time for both of them.
Custom dashboards built using the page load duration will see an effect with the solution: {pull}1435[#1435]
-
Add redirect span to the page-load transaction: {pull}1400[#1400]
-
Previously, breakdown timings were reported as milliseconds values in the
span.self_time.sum.us
field, which was wrong. From now on, it will be reported as microsecond values to match the APM specification: {pull}1381[#1381] -
The metrics
transaction.duration.sum.us
,transaction.duration.count
andtransaction.breakdown.count
are no longer recorded: {pull}1382[#1382]
-
Support for Angular 16 is made available via
@elastic/[email protected]
: {pull}1380[#1380] -
Improve user-interaction transactions naming. Unsupported browsers: IE11 {pull}1390[#1390]
-
Add
apmRequest
andsendCredentials
config to TypeScript typings: {pull}1254[#1254] {pull}1243[#1243]
-
Introduce new config option
sendCredentials
. This allows the agent to send cookies to APM servers that are behind reverse proxies that need requests to be authenticated: {pull}1238[#1238] -
Agent now warns users if they provide non-existent config options when initializing it: {pull}1230[#1230]
-
Span’s outcome is now set to
Unknown
when a Fetch/XHR request is aborted. The outcome can be found in the metadata information of the span details in APM UI: {pull}1211[#1211] -
Allow users the ability to disable compression for the events sent to APM server. This is helpful for debugging purposes while inspecting via Devtools and also for generating HAR file. Please see our troubleshooting guide for more information: {pull}1214[#1214]
-
The instrumentation of fetch API consumes a response as a readable stream properly. Before this fix the related span was being ended on the start of the response rather than on the end of it: {pull}1213[#1213]
-
Agent now can listen to all click events on the page. Users can enable/disable click instrumentation via
disableInstrumentation: ["click"]
.eventtarget
instrumentation flag will be deprecated in favor ofclick
and will be removed in the future releases: {pull}1219[#1219]
-
Events are now beaconed when the user abandons or backgrounds the page, this makes sure the agent never miss an event. Before this change it was only sending them every interval configurable via
flushInterval
. Unsupported browsers: Firefox, IE11: {pull}1146[#1146]
Note
|
Transactions based on the supported technologies and custom managed transactions are the only ones taken into account. |
-
rum-vue: Introduce script setup syntax support: {issue}1194[#1194]
-
Override reuse threshold when redefining a transaction. This will permit the agent not to miss data on slow network connections: {issue}1196[#1196]
-
create user-interaction transactions based on the element on which the event occurred rather than the element on which the event handler has been attached. All web applications that rely on event delegation will benefit from this: {issue}969[#969]
-
rum-core: update Cumulative layout shift(CLS) calculation following the new guidelines from Google:
maximum session window with 1 second gap, capped at 5 seconds.
: {issue}1033[#1033]
-
Introduce new config option
serverUrlPrefix
to make the APM server URL configurable: {issue}1078[#1078] -
Expose Transaction, Span, TransactionOptions and SpanOptions types definition: {issue}1045[#1045] and {issue}995[#995]
-
Set the values to empty string for deprecated span destination metrics: {issue}1098[#1098]
-
Add support for apmRequest configuration that allows users to pass a custom function that can be used to modify the request sent to the APM server: {issue}1018[#1018]
-
Support for React 17 is made available via
@elastic/apm-rum-react
package: {issue}1031[#1031] -
Support for Angular 12 is made available via
@elastic/apm-rum-angular
package: {issue}1028[#1028]
-
First draft of session information is added for
page-load
Transactions (disabled by default): {issue}634[#634]
-
Transaction marks for the APM server V3 spec was mapped to incorrect field which resulted in Kibana User Expererience App missing some of the core data. This only affects users who had set config
apiVersion
> 2: {issue}1007[#1007]
-
Discard buffered longtasks spans from page load transactions getting added to subsequent route change and other auto auto-instrumented transactions resulting in incorrect start time for those transactions: {issue}989[#989]
-
Support regular expression for detecting distributed tracing origins (
distributedTracingOrigins
): {issue}943[#943] -
Capture buffered longtask entries: {issue}964[#964]
-
Expose agent configuration TypeScript definition: {issue}979[#979]
-
Propagate sampling weight through tracestate header: {issue}845[#845]
-
Add necessary scripts to load test APM server with RUM payload: {issue}948[#948]
-
Handle null reason in promise rejection event: {issue}940[#940]
-
Add transaction sampling rate precision which ensures
transaction_sample_rate
configuration option has a maximum precision of 4 decimal places: {issue}927[#927] -
Add
outcome
field to applicable transactions and spans that is used by the APM UI for displaying the error rate chart: {issue}904[#904]
-
Longtasks are now aggregated under the experience field to make querying faster: {issue}900[#900]
-
Check for a Webkit Navigation timing API bug is added to avoid having incorrect navigation marks: {issue}903[#903]
-
Add new method signaturtes to the exported type definitions: {issue}890[#890]
-
Frameworks should not be automatically instrumented when the apm is inactive : {issue}885[#885]
-
Add default XHR timeout for compressed requests to APM server: {issue}897[#897]
-
Measure First Input Delay metrics properly for page load transactions: {issue}899[#899]
-
Improve the span creation time when there is an active transaction on page: {issue}883[#883]
-
Provide an API to block all auto instrumented transactions created by the agent through
transaction.block
method. Users can also use thestartSpan
API to create blocking spans to control this behaviour: {issue}866[#866] -
Expose options to create blocking spans from the agent API via
startSpan
: {issue}875[#875] -
Capture Cumulative layout shift(CLS), Total blocking time(TBT) and First input delay(FID) as part of experience metrics under page-load transactions: {issue}838[#838]
-
Track various XHR states like timeouts, errors and aborts and end all managed transactions correctly: {issue}871[#871]
-
Fix inconsistencies in the XHR timings by removing the task scheduling logic: {issue}871[#871]
-
Accept the user provided
logLevel
configuration when agent is not active: {issue}861[#861] -
Opentracing Tracer should return Noop on unsupported platforms: {issue}872[#872]s
-
Agent now uses the new CompressionStream API available on modern browsers to gzip compress the payload sent to the APM server. This yields a huge reduction of around ~96% in the payload size for an example web application when compared with the v3 specification: {issue}572[#572]
-
Introduced better grouping strategy for all managed transactions based on the current browser’s location by default instead of grouping all transactions under
UNKNOWN
category: {issue}827[#827] -
Capture XHR, Fetch calls as spans that happened before the agent script is downloaded using the browser’s Resource Timing API: {issue}825[#825]
-
Populate
span.destination.*
context fields for Navigation Timing span that denotes the HTML downloading phase: {issue}829[#829] -
Use Page Visibility API to discard transactions if the page was backgrounded at any point during the lifetime of the transaction: {issue}295[#295]
-
Add
apiVersion
config to TypeScript typings: {issue}833[#833]
-
Added support for path array in
<ApmRoute>
React component that associates the transaction based on the mounted path: {issue}702[#702]
-
Capture Total Blocking Time (TBT) only after all longtask entries are observed: {issue}803[#803]
-
Do not capture page load transaction marks when the NavigationTiming data from the browsers are not trustable: {issue}818[#818]
-
Agent now supports compressing events payload sent to the APM server via new configuration apiVersion. It yeilds a huge reduction of around ~45% in the payload size for average sized web pages: {issue}768[#768]
-
Capture First Input Delay(FID) as Span for page-load transaction: {issue}732[#732]
-
Capture Total Blocking Time(TBT) as Span for page-load transaction: {issue}781[#781]
-
Allow setting labels before agent is initialized: {issue}780[#780]
-
Use single instance of apm across all packages: {issue}791[#791]
-
User defined types for managed transactions are considered of high precedence: {issue}758[#758]
-
Add span subtype information in payload without camelcasing: {issue}753[#753]
-
Treat truncated spans percentage as regular span in breakdown calculation: {issue}776[#776]
-
Refactor ServiceFactory class to use constant service names: {issue}238[#238]
-
Performance Observer is used to measure FirstContentfulPaint Metric: {issue}731[#731]
-
Avoid full component re-rerender when query params are updated on current
ApmRoute
inside child components: {issue}748[#748]
-
Route change transactions now includes the browsers next paint frame: {issue}404[#404]
-
Support differential loading with Angular CLI: {issue}607[#607]
-
Reduced the bundle size by modifying the random number generator algorithm: {issue}705[#705]
-
Handle when errors are thrown in unsupported browsers: {issue}707[#707]
-
Captured API calls are duplicated as spans in IE: {issue}723[#723]
-
The agent now uses the official W3C traceparent header to propagate trace context: {issue}477[#477]
-
The agent name is changed from
js-base
torum-js
: {issue}379[#379] -
Global labels are only added to metadata to improve payload size: {issue}618[#618]
-
Labels now accept Boolean and Number types: {issue}272[#272]
-
Simplify configuration by removing and/or merging config options: {issue}628[#628]
-
addTags
method is removed in favour ofaddLabels
: {issue}215[#215]
Please see our [upgrade-to-v5] guide for more information.
-
Monitor longtasks by default during active transaction: {issue}601[#601]
-
Set sync field only for synchronous spans: {issue}619[#619]
-
Replace '>>' in click transaction name with '-' to avoid display issues in kibana: {issue}689[#689]
-
Check if first-contentful-paint exists before setting the agent marks: {issue}680[#680]
-
Change promise polyfill library to reduce bundle size and improve native promise use: {issue}621[#621]
-
Log when distributed tracing is not injected to make debugging easier: {issue}630[#630]
-
Added a check for window before using it to avoid server-side rendering bug: {issue}646[#646]
-
Click events are only captured for instances of Element {issue}625[#625]
-
Click events are captured as user-interaction transactions: {issue}496[#496]
-
Global labels are added to metadata on the payload: {issue}584[#584]
-
Longtask and Largest Contentful Paint are available through configuration {issue}376[#376]
-
Pass correct properties for payload to filter functions {issue}616[#616]
-
Vue: Capture errors in vue app automatically: {issue}555[#555]
-
Add error properties to custom context by default {issue}582[#582]
-
Avoid capturing timings if the transaction is unsampled {issue}579[#579]
-
Avoid firing transaction-start event on reused transactions {issue}583[#583]
-
Add TypeScript typings {issue}70[#70]
-
Capture standalone HTTP requests as a transaction {issue}60[#60]
-
Enrich span context with destination metadata {issue}513[#513] {issue}490[#490]
-
The agent now sends transactions with no spans {issue}461[#461]
-
Angular: Provide ErrorHandler for angular {issue}545[#545]
-
Reduce bundlesize by converting undocumented configs to constants {issue}502[#502]
-
The agent now avoids sending any payload when it’s inactive {issue}566[#566]
-
Fix the priority of redefining transaction types {issue}411[#411]
-
rum-core: Improve capturing multiple XHRs, by scheduling macro tasks {pull}480[#480] {commit}d4f181f[d4f181f], closes {pull}390[#390]
-
rum-core: Ensure context metadata is shallow merged on transaction {pull}453[#453] {commit}30b954e[30b954e]
-
rum-core: Improve the debug logs with transaction details {pull}469[#469] {commit}b9629b4[b9629b4]
-
rum-core: First draft of central configuration management (Alpha) {pull}439[#439] {commit}bac0e15[bac0e15]
-
rum-core: Add breakdowns based on navigation timing {pull}464[#464] {commit}61ed16b[61ed16b]
-
rum-core: Copy transaction context info to error {pull}458[#458] {commit}fa81fb7[fa81fb7]
-
rum-vue: Vue router integration with rum agent {pull}460[#460] {commit}228e157[228e157]
-
Handle relative urls without slash properly {pull}446[#446] {commit}288e8b1[288e8b1]
-
Use explicit angular injection for service {pull}449[#449] {commit}b88356f[b88356f]
-
Publish all packages as transpiled modules {pull}432[#432] {commit}1f4ee87[1f4ee87]
-
Introduce managed transaction option {pull}440[#440] {commit}a08f210[a08f210]
-
Capture unhandled promise rejection as errors {pull}427[#427] {commit}ef34ccc[ef34ccc]
-
Capture resource and user timing spans for soft navigation {pull}423[#423] {commit}d461ae5[d461ae5]
-
Support central config management (pre-alpha) {pull}415[#415] {commit}1382cc9[1382cc9]
-
Breakdown graphs for transaction (pre-alpha) {pull}412[#412] {commit}28df070[28df070]
-
rum-core: handle script error events properly {pull}418[#418] {commit}c862ab7[c862ab7]
-
rum-angular: proper transaction name for lazy loaded routes {pull}414[#414] {commit}4c6d120[4c6d120]
-
rum-react: create transaction only on component mount {pull}419[#419] {commit}a290448[a290448]
-
rum: log unsupported message only on browser environment {pull}382[#382] {commit}ff759d1[ff759d1]
-
rum-react: respect active flag in react integration {pull}392[#392] {commit}6d7e9db[6d7e9db]
-
rum-angular: angular integration with apm-rum {pull}384[#384] {commit}6ab2450[6ab2450]
-
rum: do not polyfill the global Promise variable {pull}366[#366] {commit}f5dc95c[f5dc95c]
-
rum: sync version number with latest published version {pull}362[#362] {commit}909f480[909f480]
-
rum-core: reduce transaction reusability threshold to 5 seconds {pull}354[#354] {commit}dd32e41[dd32e41]
-
rum-react: capture network requests inside useEffect hook {pull}353[#353] {commit}ae25200[ae25200]
-
rum: add instrument flag to toggle instrumentations {pull}360[#360] {commit}b7098dd[b7098dd]
-
rum-core: add event listeners for transactions {pull}279[#279] {commit}d98f7c7[d98f7c7]
-
rum-core: provide debug logs when transaction was discarded {pull}351[#351] {commit}d6728d8[d6728d8]
-
rum-react: publish transpiled react elements as es modules {pull}356[#356] {commit}7c651c7[7c651c7]
-
rum-core: check ignoreTransactions config value {pull}337[#337] {commit}aff6bc8[aff6bc8]
-
rum-react: check component in withTransaction {pull}328[#328] {commit}e348874[e348874]
-
rum-react: render the correct component when using ApmRoute with Switch {pull}342[#342] {commit}0b3f0a0[0b3f0a0]
-
rum-core: add size & server timing information to traces {pull}206[#206] {commit}c743f70[c743f70]
-
rum-core: improve error message on payload failure {pull}330[#330] {commit}73e7015[73e7015]
-
rum:core: send labels via context.tags in the payload {pull}316[#316] {commit}526c3e7[526c3e7]
-
Initial react integration {pull}265[#265] {commit}83cbebd[83cbebd]
-
rum-core: remove sensitive info from span context {pull}274[#274] {commit}b073f7f[b073f7f]
-
rum: better log message on invalid configuration {pull}216[#216] {commit}b65a806[b65a806]
-
rum-core: add user timing spans to the page-load transaction {pull}276[#276] {commit}11a62f1[11a62f1]
-
rum: remove debug logs on production build {pull}245[#245] {commit}2565844[2565844]
-
rum-core: check span validition before creating arbitrary spans {pull}277[#277] {commit}dcba903[dcba903]
-
rum-core: avoid creating multiple transactions in startTransaction {pull}296[#296] {commit}70c3fb4[70c3fb4]
-
rum-core: capture all spans as part of page-load transaction {pull}273[#273] {commit}0122bf7[0122bf7]
-
rum: deprecate addTags in favor of addLabels {pull}270[#270] {commit}3e313d3[3e313d3]
-
rum-core: patch history API {pull}259[#259] {commit}be58997[be58997]
-
rum-core: use error event instead of global onerror method {pull}281[#281] {commit}ef61121[ef61121]
-
rum-core: refactor transaction & stack service to improve bundlesize {pull}233[#233] {commit}f2b2562[f2b2562]
-
rum: return noop agent when config is inactive {pull}239[#239] {commit}7deef2d[7deef2d]
-
rum-core: apply truncation on keyword fields in payload {pull}241[#241] {commit}8a3927b[8a3927b]
-
rum-core: hardcode agent name and version in service metadata {pull}236[#236] {commit}a90337d[a90337d]
-
rum-core: in truncate check for empty values {pull}256[#256] {commit}cccb172[cccb172]
-
rum: move to ES6 modules to reduce bundle size {pull}237[#237] {commit}7aa4351[7aa4351]
-
rum-core: fix custom marks for page-load {pull}225[#225] {commit}6cd392a[6cd392a], closes {pull}221[#221]
-
rum: keep page load transaction until load {pull}224[#224] {commit}29afb27[29afb27]
-
rum-core: add service env to metadata payload {pull}198[#198] {commit}adc038b[adc038b]
-
rum-core: Add task API {pull}194[#194] {commit}0153229[0153229]
-
rum-core: measure all resource entries in page load {pull}173[#173] {commit}7cd4e0d[7cd4e0d]
-
rum-core: avoid url parsing on resource timing entries {pull}174[#174] {commit}54ea6b9[54ea6b9]
-
move IE 10 and Android 4 to unsupported list {commit}16f4440[16f4440], closes {pull}196[#196]
-
Rename the final JS bundles (#202) {commit}68b37d[68b37d]
-
resolve main field to source file (#179) {commit}923405[923405]
-
remove setTags in favor of addTags API {pull}28[#28]
-
introduce subtype and action in Spans {commit}5fd4af7[5fd4af7] {pull}9[#9]
-
add OpenTracing support {pull}138[#138] {commit}0cff389[0cff389]
-
include transaction flags on error {pull}29[29] {commit}36c13f3[36c13f3]
-
send span sync field to apm server {pull}17[17] {commit}abad58b[abad58b]
-
add addContext and addTags to Spans and Transactions {pull}16[16] {commit}de0d72b[de0d72b]
-
add paint timing mark to page-load transaction {pull}14[14] {commit}544530a[544530a]
-
propagate transaction ID for unsampled transactions {pull}30[30] {commit}3884806[3884806]
-
remove invalid chars in span tags and marks {pull}34[34] {commit}9bdc575[9bdc575]
-
Bundling - moving to webpack 4 and babel 7 {pull}123[#123] {commit}0ae3f53[0ae3f53]
-
remove query strings from xhr and fetch span name {pull}24[24] {commit}cc82e92[cc82e92]
-
set pageLoadTransactionName when transaction ends from configs {pull}25[25] {commit}afdacee[afdacee]
-
introduce minimal url parser to reduce bundle size {pull}32[32] {commit}2000ee2[2000ee2]
-
introduce subtype and action in Spans {commit}5fd4af7[5fd4af7] {pull}9[#9]
-
use dist package for url-parse to avoid packaging issues {pull}10[10] {commit}9018a8d[9018a8d]
-
introduce subtype and action in Spans {pull}9[9] {commit}5fd4af7[5fd4af7]
-
use apm-server intake/v2 (APM Server v6.5+)
-
start page load transaction immediately after init {commit}3b80bdb[3b80bdb]
-
use pageLoadTransactionName config option {commit}d3d3587[d3d3587]
-
adopt the w3c dt header flag proposal {commit}ff0fdfc[ff0fdfc]
-
don’t startSpan after transaction has ended {commit}137bd63[137bd63]
-
filter out invalid spans {commit}c9fb0e1[c9fb0e1]
-
ignore apm-server xhrs {commit}5527cca[5527cca]
-
merging two spans related to fetching the initial document {commit}6ee4108[6ee4108]
-
set pageLoadTraceId on page load transacton start {commit}c6510ca[c6510ca]
-
set the sync property on xhr spans {commit}4283e85[4283e85]
-
shorten page load config options {commit}2550c24[2550c24]
-
truncate active spans on transaction end {commit}a28759c[a28759c]
-
validate DT header {commit}5aa1cc1[5aa1cc1]
-
add allowed origins for distributed tracing {commit}0812ff7[0812ff7]
-
add DT header to same origin http requests {commit}a60d6d9[a60d6d9]
-
add DT page load trace id config option {commit}149ebaa[149ebaa]
-
add pageLoadTransactionName config option {commit}a2644df[a2644df]
-
add parent_id to spans {commit}21934b3[21934b3]
-
add sampling for transactions {commit}8105e0c[8105e0c]
-
generate random ids based on DT guidelines {commit}8fd2581[8fd2581]
-
provide span_count.started {commit}f3effcf[f3effcf]
-
use correct id format for transactions and spans {commit}d44592e[d44592e]
-
check marks are greater than fetchStart {commit}6d35eaa[6d35eaa]
-
add transactionDurationThreshold config option {commit}67f5c5d[67f5c5d]
-
check for undefined span when the agent is not active {commit}3613b01[3613b01]
-
update elastic-apm-js-core to 0.8.1
-
filter out transactions with zero spans
-
update elastic-apm-js-core to 0.7.1
-
consolidate Transaction and Error contexts
-
update elastic-apm-js-core to 0.7.0
-
remove timestamp on error and transaction payload
-
supporting apm-server 6.3
-
update span.context.http.url structure {commit}40d6bb2[40d6bb2]
-
update elastic-apm-js-core 0.6.2 {commit}b3807e0[b3807e0]
-
remove marks before fetchStart to align with resource spans
-
spans generated from navigation and resource timing apis
-
add apm.setTags {commit}523280a[523280a]
-
update to elastic-apm-js-core 0.3.0 {commit}a436334[a436334]
-
send page load metrics even after load event {commit}abe3680[abe3680]
-
upgrade to elastic-apm-js-core 0.2.2 {commit}c2a6469[c2a6469]
-
enforce server string limit
-
set descriptive names for navigation timing spans
-
Remove elastic-apm-js-zone dependency (Reducing the size of the bundle)
-
Use es6-promise
-
Queue Errors and Transactions before sending
-
Throttle adding Errors and Transactions
-
ApmBase: Disable the module if running on nodejs {commit}2bf4199[2bf4199]
-
upgrade to elastic-apm-js-core 0.1.7 {commit}325a918[325a918]
-
add captureError to ApmBase {commit}04436b4[04436b4]
-
add setUserContext and setCustomContext {commit}86b4ccc[86b4ccc]
-
upgrading to [email protected] {commit}150bc66[150bc66]
-
rename apiOrigin to serverUrl
-
rename app to service