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

UI task run input page is misleading #6627

Closed
3 tasks done
zanieb opened this issue Aug 30, 2022 · 8 comments
Closed
3 tasks done

UI task run input page is misleading #6627

zanieb opened this issue Aug 30, 2022 · 8 comments
Labels
enhancement An improvement of an existing feature ui Related to the Prefect web interface

Comments

@zanieb
Copy link
Contributor

zanieb commented Aug 30, 2022

First check

  • I added a descriptive title to this issue.
  • I used the GitHub search to find a similar request and didn't find it.
  • I searched the Prefect documentation for this feature.

Prefect Version

2.x

Describe the proposed behavior

The task run inputs page should include a description of what contents are expected to appear. For example, clarifying that only relationships between tasks are tracked here.

In the future, Prefect should do some sort of minimal tracking of the actual data passed between tasks so it can be displayed in the UI. However, that feature should be a separate ticket.

Until then, we should explain what a user should expect to see on this page.

Describe the current behavior

The task run page added in https://github.com/PrefectHQ/nebula-ui/pull/1538 / #6570 includes a task inputs tab. This tab does not include the input values to my task.

For a simple flow:

import prefect
from prefect import flow, task, get_run_logger

@task
def log_task(name):
    logger = get_run_logger()
    logger.info("Hello %s!", name)
    logger.info("Prefect Version = %s 🚀", prefect.__version__)

@flow()
def log_flow(name: str):
    log_task(name)

log_flow("Marvin")

My task receives the value "Marvin" for thename parameter but this is not captured by the API.

Screen Shot 2022-08-30 at 5 01 31 PM

Example Use

No response

Additional context

No response

@zanieb zanieb added enhancement An improvement of an existing feature status:triage ui Related to the Prefect web interface labels Aug 30, 2022
@zhen0 zhen0 added api Related the Prefect REST API and removed ui Related to the Prefect web interface labels Sep 18, 2022
@zhen0
Copy link
Member

zhen0 commented Sep 18, 2022

I worry this might get overlooked as it has a ui label but the issue is actually coming from the api. So updating the labels. Let me know if you think it needs any ui action @madkinsz

@deklund-xilis
Copy link

Can someone clarify what the expected behavior is here? Is it expected in general that the Task Inputs should show the actual values that were passed into a task? Similarly, if a task has an output, is its value expected to show up in the interface?

@kelvindecosta
Copy link

The expected behavior would be for the API to account for the dynamicKey for the task.
AFAIK, this value identifies each mapped task, and as such could index the input values passed to the task

@zanieb
Copy link
Contributor Author

zanieb commented Jan 5, 2023

@zhen0 I feel like tracking the other types of inputs is a separate ticket. This is explicitly about the lack of context for what this is expected to contain. Notably #7547 incorrectly says

Currently the task run page task input tab shows the correct keys but all values are empty.

The values should not be empty if the task was passed a value from one or more upstream tasks. In that case, the upstream task run ids would be referenced in the list.

@zanieb
Copy link
Contributor Author

zanieb commented Jan 5, 2023

For example

from prefect import flow, task


@task
def identity(x):
    return x


@flow()
def exampleflow():
    # Create some futures
    one = identity.submit(1)
    two = identity.submit(2)
    three = identity.submit(3)

    identity(one)
    identity([two, three])
    identity(1)
    identity([2, 3])


exampleflow()

Here's the task run that receives one upstream future for x

Screen Shot 2023-01-05 at 4 51 10 PM

Here's the task run that receives two upstream futures for x:

Screen Shot 2023-01-05 at 4 50 46 PM

@zanieb zanieb added ui Related to the Prefect web interface and removed api Related the Prefect REST API status:triage labels Jan 5, 2023
@zhen0
Copy link
Member

zhen0 commented Jan 5, 2023

Thanks @madkinsz - I'm adding back the needs triage label so that I can come back and triage this tomorrow.

@toro-berlin
Copy link
Contributor

toro-berlin commented Jan 31, 2023

This topic came up in our team in a production debug scenario today. It would be a nice quick win to have a description here.

People not that familiar with the internal Prefect mechanism get confused. In our case, the Prefect flow operators execute business deliveries with the flows. These are our primary stakeholders beneath the engineers implementing flows. Getting them clear will help them and us as a platform team.

Thank you!

@zanieb
Copy link
Contributor Author

zanieb commented Mar 20, 2023

#8295 should have addressed this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement of an existing feature ui Related to the Prefect web interface
Projects
None yet
Development

No branches or pull requests

5 participants