Skip to content

[APM] Add message about dropped spans #24320

Description

@sorenlouv

The new DT timeline does not yet have the message about dropped spans, that was available pre 6.5

function DroppedSpansDocsLink({ agentName }) {
const docs = getFeatureDocs('dropped-spans', agentName);
if (!docs || !docs.url) {
return null;
}
return (
<ExternalLink href={docs.url}>
Learn more in the documentation.
</ExternalLink>
);
}

Closes: #22348

Activity

  1. elasticmachine commented on Oct 21, 2018

    @elasticmachine
    Contributor

    Pinging @elastic/apm-ui

  2. formgeist commented on Oct 22, 2018

    @formgeist
    Contributor

    There's an updated design for the new trace timeline.

    • Show EuiIcon iInCircle in the Transaction row span
    • Show tooltip when hovering the icon to display the following message:
    This transaction is missing spans. Expected "x" but only showing "y".
    

    image

  3. jasonrhodes commented on Oct 31, 2018

    @jasonrhodes
    Member

    @zubeio/apm-server (or possibly @sqren or @formgeist ?) -- can someone explain in this ticket (or point to a link where it's explained) what we should expect with this part of the Transaction (elasticsearch data) interface:

    span_count?: {
      dropped?: {
        total?: number;
      };
    };

    A couple questions:

  4. self-assigned this
    on Oct 31, 2018
  5. simitt commented on Oct 31, 2018

    @simitt
    Contributor

    @jasonrhodes the values are optional, as they were introduced in a minor version update and we cannot break the API by adding required attributes. There should not be an entry with an empty hash in ES. It seems valid to not notify users about missing spans when this value is missing, as it basically only means we don't have any information about it. It would be wrong though to assume there are no missing spans just because the information is not there.

  6. jasonrhodes commented on Oct 31, 2018

    @jasonrhodes
    Member

    @simitt that all sounds good to me!

  7. 8 remaining items

  8. roncohen commented on Nov 2, 2018

    @roncohen
    Contributor

    Søren laid out the two scenarios nicely here #24320 (comment), but just as a heads up, using this message wouldn't be entirely accurate:

    {droppedSpansCount} spans dropped due to limit of {spans.data.spans.length}.

    because we can't necessarily know the configuration setting in the agent by simply counting the spans we received. Spans could be dropped for other reasons than the config limit. For example in cases where Elasticsearch is overloaded. I suggest we simply say "Agent dropped {dropped} spans for this transaction due to a configured limit: "

    We now have the started property which we could compare to spans.data.spans.length to see if we have lost any spans accidentally. This should be a separate message. Something like: There are {started-spans.data.spans.length} spans missing for this transaction: <link-to-docs>. This is not a regression, so don't rush to get it in for 6.5

    Looking into the future: If the timeline contains any transaction with dropped or missing spans, we could show a message to that effect to highlight it already on the timeline.

  9. felixbarny commented on Nov 2, 2018

    @felixbarny
    Member

    For the Java agent, dropped spans are only indirectly mentioned in the transaction_max_spans configuration option: https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-transaction-max-spans

    Although it doesn't explicitly use the term dropped spans.

  10. felixbarny commented on Nov 2, 2018

    @felixbarny
    Member

    There are {started-spans.data.spans.length} spans missing for this transaction: <link-to-docs>.

    As started should be interpreted as x or more (spans could be started after the transaction has already been reported), the message should be either There are at least {started-spans.data.spans.length} spans missing for this transaction: <link-to-docs>., or just There are spans missing for this transaction: <link-to-docs>.

  11. jasonrhodes commented on Nov 2, 2018

    @jasonrhodes
    Member

    Maybe Something happened <link-to-google>

  12. formgeist commented on Nov 5, 2018

    @formgeist
    Contributor

    Where did we end up on the implementation here? Let's keep missing spans out of the equation for now, as we're just dealing with the regression, which has to do with the dropped span message. Next release we can make it better and have shared way to display a message to the end user.

  13. jasonrhodes commented on Nov 6, 2018

    @jasonrhodes
    Member

    @formgeist thoughts on this layout/wording? Happy to tweak/adjust.

    Screen Shot 2018-11-06 at 4.52.46 PM.png

  14. formgeist commented on Nov 7, 2018

    @formgeist
    Contributor

    @jasonrhodes I'd prefer a small EuiCallOut (info) because I think most users will quickly skim the page, and not notice the information we're providing.

    As for the message, I would propose the following changes;

    The APM agent that reported this transaction dropped more than 10 spans based on its configuration. Learn more.

    The "at least" reads too dramatic to me, but maybe because I'm not a native speaker 🙂

  15. jasonrhodes commented on Nov 7, 2018

    @jasonrhodes
    Member

    @formgeist cool, I can update to EuiCallOut. "more than" isn't accurate because it might be exactly 10. Options are probably "at least 10 spans" or "10 or more spans".

  16. formgeist commented on Nov 7, 2018

    @formgeist
    Contributor

    Then I prefer "10 or more spans"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions