Skip to content
This repository was archived by the owner on Aug 26, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .DS_Store
Binary file not shown.
Empty file added .gitignore
Empty file.
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"esbonio.server.enabled": true
}
7 changes: 6 additions & 1 deletion answers.md
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
Your answers to the questions go here.
Hi Datadog Team!

I created a website with Sphinx for all of my documentation: https://bmello1487.github.io/hiring-engineers/


Thank you for your consideration and I look forward to continuing this opportunity with Datadog!
4 changes: 4 additions & 0 deletions docs/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 12180deab8d7443ad2349771477a1e93
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added docs/.nojekyll
Empty file.
Binary file added docs/_images/1570043111475.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/:etc:logrotate.d:mysql-server 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/:etc:logrotate.d:mysql-server.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/alert_config 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/alert_config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm1 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm2 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm3 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm4 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm5 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm6_dashboard 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/apm6_dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/brew_vagarantinstall 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/brew_vagarantinstall.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/create_user_mysql 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/create_user_mysql.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/custom_my_metric_check_py_new 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/custom_my_metric_check_py_new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/custom_my_metric_check_yaml 2.png
Binary file added docs/_images/custom_my_metric_check_yaml.png
Binary file added docs/_images/datadog.yaml_config_file 2.gif
Binary file added docs/_images/datadog.yaml_config_file.gif
Binary file added docs/_images/datadog_@_snapshot 2.png
Binary file added docs/_images/datadog_@_snapshot.png
Binary file added docs/_images/datadog_agent_install 2.png
Binary file added docs/_images/datadog_agent_install.png
Binary file added docs/_images/datadog_agent_status 2.gif
Binary file added docs/_images/datadog_agent_status.gif
Binary file added docs/_images/datadog_host_map_with_tags 2.png
Binary file added docs/_images/datadog_host_map_with_tags.png
Binary file added docs/_images/datadog_tags 2.png
Binary file added docs/_images/datadog_tags.png
Binary file added docs/_images/email_alert_new 2.png
Binary file added docs/_images/email_alert_new.png
Binary file added docs/_images/enable_apm_config 3.png
Binary file added docs/_images/enable_apm_config.png
Binary file added docs/_images/flaskapp 2.png
Binary file added docs/_images/flaskapp.png
Binary file added docs/_images/grant_process_on_mysql 2.png
Binary file added docs/_images/grant_process_on_mysql.png
Binary file added docs/_images/grant_replication_client_mysql 2.png
Binary file added docs/_images/grant_replication_client_mysql.png
Binary file added docs/_images/install_mysql 2.gif
Binary file added docs/_images/install_mysql.gif
Binary file added docs/_images/logs=enabled_datadog_yaml 2.png
Binary file added docs/_images/logs=enabled_datadog_yaml.png
Binary file added docs/_images/min_collection_interval=45 2.png
Binary file added docs/_images/min_collection_interval=45.png
Binary file added docs/_images/my_metric_explorer 2.png
Binary file added docs/_images/my_metric_explorer.png
Binary file added docs/_images/my_metric_monitor_setup 2.png
Binary file added docs/_images/my_metric_monitor_setup.png
Binary file added docs/_images/mysql.d:conf 2.png
Binary file added docs/_images/mysql.d:conf.png
Binary file added docs/_images/mysql_host_map_metrics 2.png
Binary file added docs/_images/mysql_host_map_metrics.png
Binary file added docs/_images/mysql_host_map_statuscheck 2.png
Binary file added docs/_images/mysql_host_map_statuscheck.png
Binary file added docs/_images/mysql_integration_installed 2.png
Binary file added docs/_images/mysql_integration_installed.png
Binary file added docs/_images/mysql_overview_dashboard 2.png
Binary file added docs/_images/mysql_overview_dashboard.png
Binary file added docs/_images/mysql_performance_schema 2.png
Binary file added docs/_images/mysql_performance_schema.png
Binary file added docs/_images/mysql_secure 2.png
Binary file added docs/_images/mysql_secure.png
Binary file added docs/_images/mysql_shell 2.gif
Binary file added docs/_images/mysql_shell.gif
Binary file added docs/_images/mysql_status 2.gif
Binary file added docs/_images/mysql_status.gif
Binary file added docs/_images/mysql_user_ok 2.png
Binary file added docs/_images/mysql_user_ok.png
Binary file added docs/_images/mysql_version 2.png
Binary file added docs/_images/mysql_version.png
Binary file added docs/_images/scheduled_down_weekends_alert 2.png
Binary file added docs/_images/scheduled_down_weekends_alert.png
Binary file added docs/_images/scheduled_downtime_m-f 2.png
Binary file added docs/_images/scheduled_downtime_m-f.png
Binary file added docs/_images/show_grants_user_mysql 2.png
Binary file added docs/_images/show_grants_user_mysql.png
Binary file added docs/_images/start_flask_app 2.png
Binary file added docs/_images/start_flask_app.png
Binary file added docs/_images/sudoaptupdate 2.gif
Binary file added docs/_images/sudoaptupdate.gif
Binary file added docs/_images/system_metrics_web_dashboard 2.png
Binary file added docs/_images/system_metrics_web_dashboard.png
Binary file added docs/_images/tags 2.png
Binary file added docs/_images/tags.png
Binary file added docs/_images/timeboard_data_exercise_py 2.png
Binary file added docs/_images/timeboard_data_exercise_py.png
Binary file added docs/_images/vagrant_config 2.png
Binary file added docs/_images/vagrant_config.png
Binary file added docs/_images/verifying_custom_check 2.png
Binary file added docs/_images/verifying_custom_check.png
Binary file added docs/_images/visualizingdata_timeboard 2.png
Binary file added docs/_images/visualizingdata_timeboard.png
140 changes: 140 additions & 0 deletions docs/_sources/apm.rst 3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
Collecting APM Data
===================


1. Enable APM in the Agent Config file

\

``sudo vim /etc/datadog-agent/datadog.yaml``

\

.. image:: images/enable_apm_config.png
:align: center

\


2. Install ddtrace

\

``pip install ddtrace``

\

3. Install Flask

\

``pip install flask``

\

4. Create Python file that contains the Flask App provided

\
``vagrant@vagrant:~$ sudo vim /etc/python/flaskApp.py``

\

.. image:: images/flaskapp.png
:align: center

\

5. Start the Flask App with the following command:

\

``vagrant@vagrant:~$ DD_SERVICE="myFlaskApp" DD_ENV="dev" DD_LOGS_INJECTION=true ddtrace-run python /etc/python/flaskApp.py``

\
.. image:: images/start_flask_app.png

\

6. Once we see ddtrace active, run the following curl command to test the endpoints

\
``curl 127.0.0.1:5050``

\
``curl 127.0.0.1:5050/api/apm``

\
``curl 127.0.0.1:5050/api/trace``

\
``curl 127.0.0.1:5050/test``

\

7. The requests were successfully traced. Each trace represents the time spent by the application processing request. All traces are OK.

\
.. image:: images/apm1.png
:align: center

\

.. image:: images/apm2.png
:align: center

\

- By looking deeper into this trace, you can see each span that makes up the request.

\

.. image:: images/apm3.png
:align: center

\

.. image:: images/apm4.png
:align: center

\

.. image:: images/apm5.png
:align: center

\

8. APM Data Timeboard

\

.. image:: images/apm6_dashboard.png
:align: center

\

`APM and Infrastructure Metrics Dashboard <https://p.datadoghq.com/sb/708a2847-9e46-11ec-854a-da7ad0900002-49cb9e37ff0ae5d760535ccd323c6ee2>`__

**Bonus**: Service vs Resource
- Service - A service is a build block in computing architecture. It groups together enpoints, quereies, or jobs to build your application.
- Resource - A resource represents a certain area of an application. It could be an instrumented web endpoint, database query,or background job.

\



Final Question
--------------

I think an ideal use for Datadog would be for the Bushnell Golf Speaker/Rangefinder. The product is great for an ideal day out on the course as it allows you to play music and also can tell you how far away the green is; even down to the detail of the front,center, and back of the green.
This app connects to your smartphone device and has majority of courses preloaded to the app.

Unfortunately, after a handful of uses my smartphone would not connect anymore to the device. With a lot of golfers on the course at once, bluetooth inteference can always be an issue. I ruled that out as I was the only device connected with bluetooth within 100 yards.
After reaching out to Bushnell's tech support they couldn't see anyting on their end to help troubleshoot and made it seem like my phone was the issue.

With Datadog monitoring, Bushnell would be able have visibilty to see the exact issue as to why the connection may be failing. To keep golfers satisfied, they would be able to reduce downtime and detect issues before they happen.
It would be easier to determine what the issue exactly is; whether it's at the device, application, or network level.





140 changes: 140 additions & 0 deletions docs/_sources/apm.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
Collecting APM Data
===================


1. Enable APM in the Agent Config file

\

``sudo vim /etc/datadog-agent/datadog.yaml``

\

.. image:: images/enable_apm_config.png
:align: center

\


2. Install ddtrace

\

``pip install ddtrace``

\

3. Install Flask

\

``pip install flask``

\

4. Create Python file that contains the Flask App provided

\
``vagrant@vagrant:~$ sudo vim /etc/python/flaskApp.py``

\

.. image:: images/flaskapp.png
:align: center

\

5. Start the Flask App with the following command:

\

``vagrant@vagrant:~$ DD_SERVICE="myFlaskApp" DD_ENV="dev" DD_LOGS_INJECTION=true ddtrace-run python /etc/python/flaskApp.py``

\
.. image:: images/start_flask_app.png

\

6. Once we see ddtrace active, run the following curl command to test the endpoints

\
``curl 127.0.0.1:5050``

\
``curl 127.0.0.1:5050/api/apm``

\
``curl 127.0.0.1:5050/api/trace``

\
``curl 127.0.0.1:5050/test``

\

7. The requests were successfully traced. Each trace represents the time spent by the application processing request. All traces are OK.

\
.. image:: images/apm1.png
:align: center

\

.. image:: images/apm2.png
:align: center

\

- By looking deeper into this trace, you can see each span that makes up the request.

\

.. image:: images/apm3.png
:align: center

\

.. image:: images/apm4.png
:align: center

\

.. image:: images/apm5.png
:align: center

\

8. APM Data Timeboard

\

.. image:: images/apm6_dashboard.png
:align: center

\

`APM and Infrastructure Metrics Dashboard <https://p.datadoghq.com/sb/708a2847-9e46-11ec-854a-da7ad0900002-49cb9e37ff0ae5d760535ccd323c6ee2>`__

**Bonus**: Service vs Resource
- Service - A service is a build block in computing architecture. It groups together enpoints, quereies, or jobs to build your application.
- Resource - A resource represents a certain area of an application. It could be an instrumented web endpoint, database query,or background job.

\



Final Question
--------------

I think an ideal use for Datadog would be for the Bushnell Golf Speaker/Rangefinder. The product is great for an ideal day out on the course as it allows you to play music and also can tell you how far away the green is; even down to the detail of the front,center, and back of the green.
This app connects to your smartphone device and has majority of courses preloaded to the app.

Unfortunately, after a handful of uses my smartphone would not connect anymore to the device. With a lot of golfers on the course at once, bluetooth inteference can always be an issue. I ruled that out as I was the only device connected with bluetooth within 100 yards.
After reaching out to Bushnell's tech support they couldn't see anyting on their end to help troubleshoot and made it seem like my phone was the issue.

With Datadog monitoring, Bushnell would be able have visibilty to see the exact issue as to why the connection may be failing. To keep golfers satisfied, they would be able to reduce downtime and detect issues before they happen.
It would be easier to determine what the issue exactly is; whether it's at the device, application, or network level.





Loading