<@U088WCP3B4P>, hi , in order to generate report f...
# ask-elementary-ai
m
@kapa.ai, hi , in order to generate report for single invocation, which dbt folders and files are being used by elementary data package to get the relevant statistics for storing those into the warehouse?
k
A message from kapa.ai
To generate a report for a single invocation, Elementary Data uses several dbt artifacts tables that store information about your dbt project and its execution. These tables are created and populated by the Elementary dbt package. Based on the knowledge sources, the main dbt artifacts tables that Elementary uses to generate reports include: 1.
dbt_invocations
- Stores information about each dbt invocation, including invocation ID, job ID, run times, and other metadata 2.
dbt_run_results
- Contains results of all dbt executions, inserted at the end of each invocation 3.
elementary_test_results
- Contains results of all dbt tests (including Elementary and other packages) 4.
dbt_models
- Contains metadata about all models in your project 5.
dbt_tests
- Contains information about all tests in your project 6.
dbt_sources
- Contains data about sources configured in your project 7.
dbt_exposures
- Contains data about exposures configured in your project When you run
edr report
with an invocation filter (like
--select last_invocation
,
--select "invocation_time:YYYY-MM-DD HH:MM:SS"
, or
--select invocation_id:XXXXX
), Elementary reads from these tables to generate a report that only includes data for the selected invocation. This filtering applies specifically to the "Test Results" and "Lineage" screens in the report. The Elementary dbt package uploads these artifacts through macros that extract specific fields during execution. Some artifacts are updated by an on-run-end hook when you run
dbt run/test/build
, while others are updated when you run the Elementary models directly. [Elementary dbt artifacts documentation](https://docs.elementary-data.com/dbt/dbt-artifacts) provides more details about how these artifacts are uploaded and modeled. To generate the report itself, Elementary uses its internal dbt project located at the CLI installation path (as mentioned in one of the knowledge sources, this is typically something like
/opt/python3.8/lib/python3.8/site-packages/elementary/monitor/dbt_project
). The CLI connects to your data warehouse using the profile you've configured to read from these tables and generate the HTML report. I hope this helps! Let me know if you have any other questions about Elementary Data.
m
@kapa.ai I have an argo workflow that has two separate steps. The first steps execute dbt run command and the second steps generate and upload edr report to s3. But the report is blank. Any idea how to resolve this?
k
A message from kapa.ai
Based on the knowledge sources, there are several common reasons why your Elementary Data report might be blank when running in an Argo workflow with separate steps for dbt run and edr report generation. Here are some troubleshooting steps to resolve this issue: ## Common Causes for Empty Reports 1. Elementary dbt package not properly installed or configured: - Ensure you're using the latest versions of both the Elementary dbt package and CLI - Run
dbt deps
before generating the report to ensure dependencies are up-to-date 2. Missing or incorrect Elementary profile configuration: - Verify that you have a properly configured
elementary
profile in your
profiles.yml
- The profile should point to the correct schema where Elementary tables are located 3. No test results available: - If you haven't run any dbt tests, the
elementary_test_results
table might be empty - Run
dbt test
to populate test results before generating the report 4. Schema configuration issues: - Check your
dbt_project.yml
to ensure Elementary models are configured with the correct schema 5. Permissions or connection issues: - Ensure the credentials in your Elementary profile have access to the schema where Elementary tables are stored ## Specific Solutions for Argo Workflow For your specific Argo workflow scenario, try these solutions: 1. Add a dbt test step: - Add a step to run
dbt test
between your
dbt run
and
edr report
steps - This ensures test results are available for the report 2. Force update packages: - Add the
-u true
flag to your edr command:
edr report -u true
- This forces the CLI to update its internal packages [Slack forum solution](https://slack.com/archives/C02CTC89LAX/p1707152053829759) 3. Check for correct project directory: - Ensure you're specifying the correct project directory in your edr command - Use
--project-dir
and
--profiles-dir
flags to point to the right locations 4. Increase days-back parameter: - By default, the report only shows 7 days of data - Try
edr report --days-back 30
to see more historical data [Slack forum solution](https://slack.com/archives/C02CTC89LAX/p1688568085309439) 5. Run from a different directory: - Some users found success by changing directories before running edr:
Copy code
cd /tmp    edr report ...
[Slack forum solution](https://slack.com/archives/C02CTC89LAX/p1673296325976229) If you're still experiencing issues after trying these solutions, check the
edr.log
file in your execution directory and the
dbt.log
file under the package location for specific error messages that might provide more insight into the problem. Let me know if you need more specific guidance based on any error messages you're seeing! I hope this helps resolve your issue with the blank Elementary Data report in your Argo workflow.