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: Update the quick start guide #930

Merged
merged 9 commits into from
Sep 22, 2021
Merged

docs: Update the quick start guide #930

merged 9 commits into from
Sep 22, 2021

Conversation

arielvalentin
Copy link
Contributor

@arielvalentin arielvalentin commented Aug 24, 2021

This PR adds some initial documentation for a quick start guide composed of content from from the following sources:

This is not intended to be a comprehensive guide and is an initial attempt to provide developers the ability to getting started with OpenTelemetry Ruby.

@arielvalentin arielvalentin self-assigned this Aug 24, 2021
website_docs/_index.md Outdated Show resolved Hide resolved
website_docs/_index.md Outdated Show resolved Hide resolved
website_docs/_index.md Outdated Show resolved Hide resolved
website_docs/_index.md Outdated Show resolved Hide resolved
website_docs/_index.md Outdated Show resolved Hide resolved
website_docs/_index.md Outdated Show resolved Hide resolved
@arielvalentin arielvalentin changed the title docs: WIP docs: Update the quick start guide Sep 9, 2021
@arielvalentin arielvalentin marked this pull request as ready for review September 9, 2021 17:23
@arielvalentin arielvalentin marked this pull request as draft September 9, 2021 17:23
@arielvalentin arielvalentin marked this pull request as ready for review September 9, 2021 20:01
@arielvalentin
Copy link
Contributor Author

👋🏼 @open-telemetry/ruby-approvers I marked all conversations resolved since I reworked the majority of the structure since creating the initial draft. Hope that is OK.

Copy link
Member

@robbkidd robbkidd left a comment

Choose a reason for hiding this comment

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

✨ ✍🏻 ✨

Some commentary, questions, and suggestions.

website_docs/context_propagation.md Outdated Show resolved Hide resolved
website_docs/context_propagation.md Outdated Show resolved Hide resolved
Auto-instrumentation is the easiest way to get started with instrumenting your code, but in order to get the most insight into your system, you should add manual instrumentation where appropriate.
To do this, use the OpenTelemetry SDK to access the currently executing span and add attributes to it, and/or to create new spans.

To add manual instrumentation, you need to add the OpenTelemetry SDK gem to your Gemfile:
Copy link
Member

Choose a reason for hiding this comment

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

With the reference to auto-instrumentation here, would it be reasonable to assume the reader has arrived here after setting up their project with the gem dependencies required for auto-instrumentation? If so, they should have the SDK included already and this could be a statement "confirm that you've got opentelemetry-ruby installed" linking to those other steps. If we ought not to assume here that auto-instrumentation is already configured, this section might need more detail about configuring for only manual spans.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Gotcha. Removed those from the doc.

website_docs/manual_instrumentation.md Outdated Show resolved Hide resolved
instrumentation/action_view/CHANGELOG.md Outdated Show resolved Hide resolved
.github/workflows/codeql.yml Outdated Show resolved Hide resolved
```bash
$> git clone git@github.com:open-telemetry/opentelemetry-ruby.git; \
cd open-telemetry-ruby/examples/otel-collector; \
docker-compose up -d
Copy link
Member

Choose a reason for hiding this comment

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

MAGIC

I'll test this out this weekend.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You will have to switch to this branch in order for that to work.

You will also have to add a gem dependency:

```sh
gem install opentelemetry-propagator-b3
Copy link
Member

@robbkidd robbkidd Sep 11, 2021

Choose a reason for hiding this comment

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

At this point in the Ruby ecosystem, could we assume that most people are using Bundler and Gemfiles? Can we streamline the setup instructions a bit with only the "add gem to Gemfile and bundle install" path and assume that people who are not using Bundler know to do a gem install instead? My impression is that most people new to Ruby are learning the Bundler Way and gem install is a choice made by more experienced folks, but my impression could certainly be mistaken!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree with you. Let's see what others have to say about it.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm +1 on preferring bundler instructions rather than gem instructions.


## Adding Manual Instrumentation

Auto-instrumentation is the easiest way to get started with instrumenting your code, but in order to get the most insight into your system, you should add manual instrumentation where appropriate.
Copy link
Member

Choose a reason for hiding this comment

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

I've been experimenting with phrasing manual instrumentation added to auto-instrumentation as "enriching auto-instrumentation" to distinguish the use case from "I want only my bespoke artisanal manual spans." My hypothesis is that identifying which of those two use cases a reader thinks may apply to them routes them down a setup path that pays off for them sooner than the other. My further guess is that auto-inst-with-manual-enrichment is the happier path for most users. If this seems like a promising perspective, maybe there are some tweaks we can make to this page to help readers down one of the two paths?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Perhaps we could create a separate section that describe use cases and patterns or we could set aside time to co-author our book series "Head First OpenTelemetry", "OpenTelemetry in Action", and "OpenTelemetry the Hard Way".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I did make a few changes. Let me know if it flows a little better.

Copy link
Contributor

@ahayworth ahayworth left a comment

Choose a reason for hiding this comment

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

I really like it. I added two small comments, but I think this documentation is superb as-is. This is really great work! 😄

website_docs/_index.md Show resolved Hide resolved
website_docs/quick_start.md Outdated Show resolved Hide resolved
arielvalentin and others added 2 commits September 13, 2021 22:13
See #775

Co-authored-by: Robb Kidd <robbkidd@honeycomb.io>
@arielvalentin
Copy link
Contributor Author

ping @open-telemetry/ruby-approvers @open-telemetry/ruby-maintainers

@arielvalentin
Copy link
Contributor Author

ping @open-telemetry/ruby-approvers @open-telemetry/ruby-maintainers

arielvalentin and others added 5 commits September 20, 2021 09:24
Co-authored-by: Francis Bogsanyi <francis.bogsanyi@shopify.com>
Co-authored-by: Francis Bogsanyi <francis.bogsanyi@shopify.com>
Co-authored-by: Francis Bogsanyi <francis.bogsanyi@shopify.com>
Co-authored-by: Francis Bogsanyi <francis.bogsanyi@shopify.com>
Co-authored-by: Francis Bogsanyi <francis.bogsanyi@shopify.com>
@fbogsany fbogsany merged commit e12dab9 into open-telemetry:main Sep 22, 2021
@arielvalentin arielvalentin deleted the arielvalentin/quickstart-guide branch September 22, 2021 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants