Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: APM integration documentation #6287

Merged
merged 22 commits into from
Oct 15, 2021

Conversation

bmorelli25
Copy link
Member

@bmorelli25 bmorelli25 commented Oct 4, 2021

Summary

  • Moves all APM Server Reference docs to /docs/legacy/*. Retains a temporary index.asciidoc in /docs/ to keep the build working until broken links are addressed
  • Moves all APM Guide docs to /docs/legacy/guide/*. Retains a temporary index.asciidoc in /docs/guide/ to keep the build working until broken links are addressed
  • Creates a new entry point (integrations-index.asciidoc) for the APM User Guide documentation.
  • Copies relevant APM Overview content to the new book (almost all content)

Screen Shot 2021-10-14 at 12 37 17 PM

Build it

gh pr checkout 6287
$GIT_HOME/docs/build_docs --doc $GIT_HOME/apm-server/docs/integrations-index.asciidoc --chunk 2 --open

To do after this PR is merged

Related issues and PRs

@mergify mergify bot added the backport-skip Skip notification from the automated backport with mergify label Oct 4, 2021
@elastic elastic deleted a comment from mergify bot Oct 4, 2021
@apmmachine
Copy link
Contributor

apmmachine commented Oct 4, 2021

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2021-10-14T19:37:36.359+0000

  • Duration: 41 min 39 sec

  • Commit: 8901e28

Test stats 🧪

Test Results
Failed 0
Passed 6273
Skipped 18
Total 6291

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • /hey-apm : Run the hey-apm benchmark.

  • /package : Generate and publish the docker images.

@bmorelli25
Copy link
Member Author

bmorelli25 commented Oct 5, 2021

Chunk level is changing which means a number of links need to be fixed before this PR can be merged:

edit: removed because fixed

Copy link
Contributor

@simitt simitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bmorelli25 I took an initial look. I have a couple of remarks already but can also hold off for now until you ping me to take a closer look.

@bmorelli25
Copy link
Member Author

Hey @simitt — sure, any comments/suggestions are appreciated. The goal of this PR so far was to see if it was even possible to combine the APM Overview and APM Server into one book and get it to pass to elasticsearch-ci/docs ci. And that test is finally green.

The next steps, as I see them, are to:

  1. Do a little more clean up, then merge this PR
  2. Point all inbound APM links to the new APM book (not the Overview or Server Reference)
  3. Stop building the master and 7.x versions of the Overview and Reference
  4. Add new and old documentation to the new APM book

@bmorelli25
Copy link
Member Author

bmorelli25 commented Oct 6, 2021

I think it's worth pointing out too that the TOC you see if you build this PR is not at all related to what the final layout of this content will be. I just needed headings to fill things out.

edit: removed temp TOC headings

@bmorelli25 bmorelli25 marked this pull request as ready for review October 6, 2021 18:28
@bmorelli25 bmorelli25 requested a review from simitt October 6, 2021 18:28
@elastic elastic deleted a comment from mergify bot Oct 12, 2021
@simitt
Copy link
Contributor

simitt commented Oct 13, 2021

Are you planning on duplicating information that stays valid with the new managment model? (For example explanation around distributed tracing, transaction sampling, OpenTracing bridges, etc.)?

@bmorelli25
Copy link
Member Author

Are you planning on duplicating information that stays valid with the new managment model? (For example explanation around distributed tracing, transaction sampling, OpenTracing bridges, etc.)?

Yes. Duplication is unfortunate, but it's the only thing that made sense to me for content that is relevant to both the old way and the new way of doing things:

  • Option 1: Have one file that's "included" in both books for content that's relevant to both use cases -- It's unfortunately not possible to keep one file as the source of truth and include it in both the deprecated APM Overview and the new APM Guide. That's because page IDs must be unique in a book.
  • Option 2: Move content that's relevant to both use cases to the new book -- Considering the APM standalone/binary users' point of view, it wouldn't be a good experience for them to go to the deprecated book and not see the content that used to exist there. There'd be no way of knowing that the distributed tracing, sampling, etc., docs in the APM Guide apply to their use case as well
  • Option 3: Duplicate content that's relevant to both use cases -- This increases the complexity of updating shared content, but IMO provides the best user experience for both APM use cases.

@elastic elastic deleted a comment from mergify bot Oct 14, 2021
Copy link
Contributor

@simitt simitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm good with merging this in as is and then adding additional content (such as for configuring the apm Integration).

The comments I left can be handled in a follow up.


Elastic APM consists of four components: *APM agents*, *Elastic Agent*, *Elasticsearch*, and *Kibana*.

image::./images/apm-architecture.png[Architecture of Elastic APM]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another viable scenario will be to host an elastic-agent with an apm integration alongside a user's app, and then have these remote agents enroll via the centrally hosted elastic-agent.

Elastic APM consists of four components: APM agents, Elastic Agent, Elasticsearch, and Kibana.

Technically that is correct, but I think the interesting part for users would be the APM Integration, rather than the Elastic Agent. Could we generally talk about the APM Integration, and then in the concrete setup section, and in the more detailled paragraph below introduce the Elastic Agent to run the Integration?

These are known as events, and can be `spans`, `transactions`, `errors`, or `metrics`.

* <<data-model-spans>>
* <<data-model-transactions>>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could aready de-emphasize the the difference between spans and transactions a bit. They are written to the same data stream now, so maybe let's focus on traces and then a bit less prominent mention the difference between spans and transactions.


[source,console]
----
GET _ingest/pipeline/apm
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll have a set of pipelines per datastreams, so this will need to be changed a bit.

@bmorelli25
Copy link
Member Author

Great feedback, @simitt. I'll address in a future PR.

@bmorelli25 bmorelli25 merged commit 74832cc into elastic:master Oct 15, 2021
@bmorelli25 bmorelli25 deleted the new-integration-docs branch October 15, 2021 20:09
axw added a commit to stuartnelson3/apm-server that referenced this pull request Oct 16, 2021
@axw axw mentioned this pull request Oct 16, 2021
axw added a commit that referenced this pull request Oct 16, 2021
* fix apmpackage changelog

* update to go1.17.1

* make update-beats

* Update go.mod to 1.17

* go mod tidy

* go mod download all

* Makefile: move fields.asciidoc to docs/legacy

* Manual tweaks to fields.asciidoc

See #6287

* Stop generating fields.asciidoc

We won't be updating libbeat fields.yml anymore,
so no need to keep regenerating fields.asciidoc.

Co-authored-by: Andrew Wilkins <[email protected]>
bmorelli25 added a commit to bmorelli25/apm-server that referenced this pull request Oct 18, 2021
# Conflicts:
#	docs/guide/index.asciidoc
bmorelli25 added a commit that referenced this pull request Oct 18, 2021
* docs: APM integration documentation (#6287)

# Conflicts:
#	docs/guide/index.asciidoc

* Update docs/guide/apm-breaking-changes.asciidoc
bmorelli25 pushed a commit to bmorelli25/observability-docs that referenced this pull request Dec 18, 2023
* fix apmpackage changelog

* update to go1.17.1

* make update-beats

* Update go.mod to 1.17

* go mod tidy

* go mod download all

* Makefile: move fields.asciidoc to docs/legacy

* Manual tweaks to fields.asciidoc

See elastic/apm-server#6287

* Stop generating fields.asciidoc

We won't be updating libbeat fields.yml anymore,
so no need to keep regenerating fields.asciidoc.

Co-authored-by: Andrew Wilkins <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-skip Skip notification from the automated backport with mergify
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants