-
Notifications
You must be signed in to change notification settings - Fork 76
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
Tracing #50
Tracing #50
Conversation
See #51 |
TODO for implementation:
Other changes:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Reviewed the entire pull request up to bc44d23
- Looked at
311
lines of code in7
files - Took 2 minutes and 17 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
0
additional comments because they didn't meet confidence threshold of50%
.
Workflow ID: wflow_xKpSW6J0Qr37IFnR
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on 181c242
- Looked at
946
lines of code in8
files - Took 1 minute and 57 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
2
additional comments because they didn't meet confidence threshold of50%
.
1. tests/visibility/test_tracing.py:1
:
- Assessed confidence :
0%
- Comment:
The test cases in this file are well written and cover a wide range of scenarios. They test the functionality of theActionSpanTracer
andTracerFactory
classes, including the correct span count, nested span count, and the correct functioning of lifecycle hooks. The tests also cover both synchronous and asynchronous scenarios. The code is clean, and the use of comments makes it easy to understand the purpose of each test case. - Reasoning:
The test cases in the filetest_tracing.py
are well written and cover a wide range of scenarios. They test the functionality of theActionSpanTracer
andTracerFactory
classes, including the correct span count, nested span count, and the correct functioning of lifecycle hooks. The tests also cover both synchronous and asynchronous scenarios. The code is clean, and the use of comments makes it easy to understand the purpose of each test case.
2. burr/visibility/tracing.py:1
:
- Assessed confidence :
0%
- Comment:
TheTracerFactory
class has been implemented correctly. It createsActionSpanTracer
instances and manages the state for the top-level span count. The_process_inputs
method in theApplication
class has been updated to handle missing inputs and create required inputs using thedependency_factory
. Thestep
andastep
methods in theApplication
class have been updated to process inputs and handle missing inputs. The tests have been updated to reflect these changes. - Reasoning:
TheTracerFactory
class inburr/visibility/tracing.py
has been implemented correctly. It createsActionSpanTracer
instances and manages the state for the top-level span count. The_process_inputs
method in theApplication
class inburr/core/application.py
has been updated to handle missing inputs and create required inputs using thedependency_factory
. Thestep
andastep
methods in theApplication
class have been updated to process inputs and handle missing inputs. The tests intests/core/test_application.py
have been updated to reflect these changes.
Workflow ID: wflow_brz94TpdgAdJiju9
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
This is designed to work with hooks -- the spans just set contexts/delegate to the hooks. We were inspired by, but elected not to leverage Opentel/opentracing, for the following reasons: 1. Dependencies -- too big/ugly 2. API -- we can easily build an ergonomic subset that can delegate to openTel, but we'd be shoving what we want to log into opentel otherwise We can still leverage opentel heavily, and maybe even expose it to the user. Overall design decisions: 1. Sequence ID is a first class field -- we can use this for tracing/generating UIds for spans. 2. Actions declare __tracer and it gets injected in. This is passed as an input 3. We have an (internal) concept of "injected parameters" that can be a factory that gets injected each time an action that declares them is run. 4. Tracers have sync and async respected, they're a dual context manager 5. We use context vars to determine the current one (need to ensure it works with parallelism, although context vars is specifically meant to do that) 6. The tracer factory gets passed to actions, meaning that you create a new span. We should rename it to spanfactory or something like that. This is not exposed directly, so we can fix it up later. 7. We have room for logging of artifacts, observations, etc... but it is currently unimplemented. 8. We don't error out if no hook for tracing is added. We will consider adding a warning..
Everything worked except it treated them as sync actions. This treats them as async actions. We also duplicate sync tests to work for async actions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on 320f8da
- Looked at
112
lines of code in3
files - Took 1 minute and 42 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. burr/core/action.py:408
:
- Assessed confidence :
100%
- Grade:
0%
- Comment:
The PR description mentions changes to theApplication
class and the addition of aTracerFactory
class. However, these changes are not visible in the diff. Please ensure that all relevant changes are included in the PR. - Reasoning:
The PR introduces a new tracing feature and modifies theApplication
class to include adependency_factory
. It also updates methods to process inputs and updates tests to reflect these changes. However, the diff does not show any changes in theApplication
class or the newTracerFactory
class. It only shows changes in the test files. This could be a mistake in the PR or the diff might not be showing all the changes. I will need to check the entire codebase to understand the changes better.
Workflow ID: wflow_FDdBqxl9NK4e4F5p
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
This auto-increments it even after failure. This way we can store logs of failed steps and not have it increment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on ecfdb37
- Looked at
93
lines of code in2
files - Took 1 minute and 11 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. burr/core/application.py:248
:
- Assessed confidence :
10%
- Comment:
The changes in the PR seem to be focused on the sequence_id incrementation and its placement in the try/finally block. This ensures that the sequence_id is incremented even if an exception is thrown. The changes also include updates to the tests to check the sequence_id. The changes seem logical and I don't see any clear violations of best practices or potential bugs. - Reasoning:
The changes in the PR seem to be focused on the sequence_id incrementation and its placement in the try/finally block. This ensures that the sequence_id is incremented even if an exception is thrown. The changes also include updates to the tests to check the sequence_id. The changes seem logical and I don't see any clear violations of best practices or potential bugs.
Workflow ID: wflow_c3p5dv6qZi8NZVbE
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on e5cacb6
- Looked at
132
lines of code in3
files - Took 1 minute and 25 seconds to review
More info
- Skipped
6
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. burr/visibility/tracing.py:200
:
- Assessed confidence :
80%
- Grade:
30%
- Comment:
Thelog_artifact
method in theActionSpanTracer
class raises aNotImplementedError
. If this method is being used anywhere in the codebase, it will cause a runtime error. Please implement this method or remove it if it's not needed. - Reasoning:
TheActionSpanTracer
class has alog_artifact
method that raises aNotImplementedError
. This could be a potential issue if the method is called somewhere in the codebase. I'll need to check if this method is being used anywhere.
Workflow ID: wflow_a4K4r0XDuGLOFXd8
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
This logs one to each line. This will be done in a "queue"-type format in a more powerful client -- E.G. each log line telling its role so we can add it to the db, then query later. This will break the UI, currently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on a9646b5
- Looked at
148
lines of code in2
files - Took 3 minutes and 24 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. burr/tracking/server/backend.py:147
:
- Assessed confidence :
100%
- Grade:
0%
- Comment:
There's a TODO comment about making certain values into constants. It's a good practice to avoid magic strings or numbers and instead use constants for better code readability and maintainability. - Reasoning:
The functionget_application_logs
has a TODO comment about making certain values into constants. It's a good practice to avoid magic strings or numbers and instead use constants for better code readability and maintainability.
Workflow ID: wflow_R0uMA5VhJAKZNS8V
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
This functions on the idea of messages logged -- its carried through to the FE. This just does a pretty simple loa load of local files to display.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on 1c96a71
- Looked at
1859
lines of code in26
files - Took 5 minutes and 11 seconds to review
More info
- Skipped
2
files when reviewing. - Skipped posting
7
additional comments because they didn't meet confidence threshold of50%
.
1. telemetry/ui/src/api/models/BeginEntryModel.ts:13
:
- Assessed confidence :
0%
- Comment:
The addition of the 'sequence_id' field is consistent with the PR description and there are no apparent issues with it. - Reasoning:
The changes in the file 'telemetry/ui/src/api/models/BeginEntryModel.ts' are adding a new field 'sequence_id' to the 'BeginEntryModel' type. This field is of type 'number'. This change is consistent with the PR description and there are no apparent issues with it.
2. telemetry/ui/src/api/models/BeginSpanModel.ts:15
:
- Assessed confidence :
0%
- Comment:
The introduction of the 'BeginSpanModel' type is consistent with the PR description and there are no apparent issues with it. - Reasoning:
The changes in the file 'telemetry/ui/src/api/models/BeginSpanModel.ts' are introducing a new type 'BeginSpanModel'. This type includes fields such as 'type', 'start_time', 'action_sequence_id', 'span_id', 'span_name', 'parent_span_id', and 'span_dependencies'. This change is consistent with the PR description and there are no apparent issues with it.
3. telemetry/ui/src/api/models/EndEntryModel.ts:15
:
- Assessed confidence :
0%
- Comment:
The addition of the 'sequence_id' field is consistent with the PR description and there are no apparent issues with it. - Reasoning:
The changes in the file 'telemetry/ui/src/api/models/EndEntryModel.ts' are adding a new field 'sequence_id' to the 'EndEntryModel' type. This field is of type 'number'. This change is consistent with the PR description and there are no apparent issues with it.
4. telemetry/ui/src/api/models/Span.ts:14
:
- Assessed confidence :
0%
- Comment:
The introduction of the 'Span' type is consistent with the PR description and there are no apparent issues with it. - Reasoning:
The changes in the file 'telemetry/ui/src/api/models/Span.ts' are introducing a new type 'Span'. This type includes fields such as 'begin_entry' and 'end_entry'. This change is consistent with the PR description and there are no apparent issues with it.
5. telemetry/ui/src/api/models/Step.ts:14
:
- Assessed confidence :
0%
- Comment:
The addition of the 'spans' field is consistent with the PR description and there are no apparent issues with it. - Reasoning:
The changes in the file 'telemetry/ui/src/api/models/Step.ts' are adding a new field 'spans' to the 'Step' type. This field is of type 'Array'. This change is consistent with the PR description and there are no apparent issues with it.
6. telemetry/ui/src/api/services/DefaultService.ts:116
:
- Assessed confidence :
0%
- Comment:
The changes in this file are mostly formatting changes and there are no apparent issues with them. - Reasoning:
The changes in the file 'telemetry/ui/src/api/services/DefaultService.ts' are mostly formatting changes. There are no new methods or significant changes to existing methods. This change is consistent with the PR description and there are no apparent issues with it.
7. telemetry/ui/src/components/common/dates.tsx:31
:
- Assessed confidence :
0%
- Comment:
The introduction of the 'TimeDisplay' component is consistent with the PR description and there are no apparent issues with it. - Reasoning:
The changes in the file 'telemetry/ui/src/components/common/dates.tsx' are introducing a new component 'TimeDisplay'. This component takes a 'date' prop and displays it in a human-readable format. This change is consistent with the PR description and there are no apparent issues with it.
Workflow ID: wflow_7X6OQURznbri20i8
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
…sion of the table
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on a80cb5a
- Looked at
381
lines of code in3
files - Took 5 minutes and 21 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
2
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/routes/app/AppView.tsx:80
:
- Assessed confidence :
70%
- Grade:
0%
- Comment:
Consider renaming the state variable 'minimizedTable' to a more descriptive name like 'isFirstColumnMinimal'.
const [isFirstColumnMinimal, setIsFirstColumnMinimal] = useState(false);
- **Reasoning**:
In the file 'AppView.tsx', a new state variable 'minimizedTable' has been introduced. This state variable is used to control the layout of the 'TwoColumnLayout' component. If 'minimizedTable' is true, the 'mode' prop of 'TwoColumnLayout' is set to 'first-minimal', else it is set to 'half'. This allows the layout of the 'TwoColumnLayout' component to be controlled based on the 'minimizedTable' state. This is a good practice as it allows the layout to be dynamically controlled based on the state of the component. However, the naming of the state variable could be improved. 'minimizedTable' does not clearly indicate its purpose. A name like 'isFirstColumnMinimal' would be more descriptive.
</details>
<details>
<summary>2. <code>/telemetry/ui/src/components/routes/app/StepList.tsx:285</code>:</summary>
- **Assessed confidence** : `70%`
- **Grade**: `30%`
- **Comment:**
Consider renaming the props 'minimized' and 'setMinimized' to more descriptive names like 'isMinimalView' and 'setIsMinimalView'.
```suggestion
isMinimalView: boolean;
setIsMinimalView: (b: boolean) => void;
- **Reasoning**:
In the file 'StepList.tsx', the 'StepList' component has been updated to include two new props 'minimized' and 'setMinimized'. The 'minimized' prop is used to control the visibility of certain table cells in the 'ActionTableRow' and 'TraceSubTable' components. The 'setMinimized' prop is used to update the 'minimized' state in the parent component. This is a good practice as it allows the visibility of the cells and the state of the parent component to be controlled dynamically based on the requirements of the parent component. However, the 'minimized' and 'setMinimized' props could be renamed to something more descriptive like 'isMinimalView' and 'setIsMinimalView' to clearly indicate their purpose.
</details>
Workflow ID: <workflowid>`wflow_ualrDtla8iP1IJaY`</workflowid>
</details>
----
**Want Ellipsis to fix these issues?** Tag `@ellipsis-dev` in a comment. We'll respond in a few minutes. Learn more [here](https://docs.ellipsis.dev/code#from-a-pr).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on 4b40133
- Looked at
215
lines of code in3
files - Took 4 minutes and 4 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
2
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/routes/app/AppView.tsx:170
:
- Assessed confidence :
50%
- Comment:
Consider adding a comment explaining why the scrollbar is hidden. This can help other developers understand the design decision.
{/* The scrollbar is hidden to improve the visual appearance of the component. */}
<div className="overflow-y-scroll hide-scrollbar h-full w-full">
- Reasoning:
In the file 'AppView.tsx', there is a div with the class 'overflow-y-scroll hide-scrollbar h-full w-full'. This is a good practice as it ensures that the content will be scrollable if it exceeds the height of the container and the scrollbar will be hidden. However, it would be better to add a comment explaining why the scrollbar is hidden, as this might not be immediately clear to other developers.
2. /telemetry/ui/src/components/common/layout.tsx:16
:
- Assessed confidence :
90%
- Grade:
0%
- Comment:
Consider using strict equality check (===) instead of loose equality (==) for consistency and to avoid potential bugs due to type coercion.
if (mode === 'first-minimal') {
- Reasoning:
In the file 'layout.tsx', there is a strict equality check (===) used in the className string interpolation. This is a good practice as it avoids type coercion that can lead to unexpected results. However, the same check is not used in the if condition on the line above. It would be better to use strict equality check (===) instead of loose equality (==) to ensure consistency and avoid potential bugs due to type coercion.
Workflow ID: wflow_GiBP58vEcXwErXRT
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on cf6159b
- Looked at
99
lines of code in2
files - Took 2 minutes and 57 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
0
additional comments because they didn't meet confidence threshold of50%
.
Workflow ID: wflow_P67LSy0ZAsjPN01N
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on 6726375
- Looked at
167
lines of code in4
files - Took 3 minutes and 8 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
0
additional comments because they didn't meet confidence threshold of50%
.
Workflow ID: wflow_99qdlaBNFETHrTYt
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
@@ -59,7 +59,11 @@ export const AppListTable = (props: { apps: ApplicationSummary[]; projectId: str | |||
</TableHead> | |||
<TableBody> | |||
{appsToDisplay.map((app) => ( | |||
<TableRow key={app.app_id}> | |||
<TableRow | |||
key={props.projectId} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using app.app_id
as the key for each TableRow
to ensure it is unique.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on 28b5897
- Looked at
17
lines of code in1
files - Took 2 minutes and 14 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. burr/visibility/tracing.py:201
:
- Assessed confidence :
0%
- Comment:
Thelog_artifact
method is raising aNotImplementedError
. If this method is called in the code, it will cause an error. However, the error message indicates that this is a known issue and there is a GitHub issue link provided for more details. This suggests that the author is aware of this and it is likely intentional. - Reasoning:
Thelog_artifact
method in theActionSpanTracer
class is raising aNotImplementedError
. This could potentially cause issues if the method is called in the code. However, the error message indicates that this is a known issue and there is a GitHub issue link provided for more details. This suggests that the author is aware of this and it is likely intentional. Therefore, I don't see any immediate issues with this PR.
Workflow ID: wflow_QnkAwIInybQLksZH
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on a04e19b
- Looked at
210
lines of code in2
files - Took 2 minutes and 55 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
2
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/routes/AppList.tsx:63
:
- Assessed confidence :
0%
- Comment:
Good fix. Usingapp.app_id
as the key for each TableRow is the correct approach as keys should be unique to each row. - Reasoning:
The key for each TableRow in the AppListTable component was previously set to the projectId, which is the same for all rows. This is incorrect as keys should be unique to each row. The change to use app.app_id as the key is correct and should resolve any potential issues with React not being able to correctly identify each row in the list.
2. /examples/gpt/application.py:21
:
- Assessed confidence :
50%
- Comment:
TheTracerFactory
has been removed from this file. If the new tracing feature is supposed to be used here, this could be an oversight. - Reasoning:
The PR author removed the TracerFactory from the application.py file. This means that the tracing feature that was introduced is not being used in this file. This could be an oversight or intentional depending on whether the tracing feature is supposed to be used here or not. I would need to check other parts of the codebase to see if the TracerFactory is being used elsewhere.
Workflow ID: wflow_VKxei7jL2KUy9ibN
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
Note this will make current logs break, and I'm ok with that for now. |
Generated with ❤️ by ellipsis.dev |
Sorry, Ellipsis encountered a problem while reviewing this PR at commit 69f45a1. Our team has been alerted and is investigating. (wflow_Q0iD16qrr5l3US90) 🤖 |
We may want this within the whole app, but for now this is a cute way of visualizing it. Just a hint of what we could do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on dd03737
- Looked at
97
lines of code in2
files - Took 2 minutes and 22 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
0
additional comments because they didn't meet confidence threshold of50%
.
Workflow ID: wflow_fSSkby6yVCRriLty
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
We were previously using the step index as the ID, this replaces it with the step sequence ID.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on 79ea2eb
- Looked at
64
lines of code in3
files - Took 3 minutes and 47 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/routes/app/StateMachine.tsx:39
:
- Assessed confidence :
80%
- Grade:
0%
- Comment:
It seems like thecurrentSequenceID
is being used as an index to find thecurrentAction
. If the sequence IDs are not 0-indexed or if there are gaps in the sequence, this could lead to an incorrect action being selected. Please ensure that the sequence IDs correspond correctly to the indices of the steps array. - Reasoning:
In the AppStateView component, the currentAction is being found using the currentSequenceID as an index in the steps array. However, if the sequence IDs are not 0-indexed or if there are gaps in the sequence, this could lead to an incorrect action being selected as the current action.
Workflow ID: wflow_nEGWUA54L267ZarB
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on af29e69
- Looked at
17
lines of code in1
files - Took 2 minutes and 0 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/routes/app/StateMachine.tsx:38
:
- Assessed confidence :
0%
- Comment:
This change simplifies the code by replacing a ternary operator with a variable that was defined earlier. This makes the code more readable and maintainable. - Reasoning:
The change in this PR is replacing a ternary operator with a variable. The variablecurrentStep
is defined earlier in the code and is equivalent to the ternary operator that was replaced. This change simplifies the code and makes it more readable.
Workflow ID: wflow_6kQOxodrMBM2efDv
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on 5437bd8
- Looked at
62
lines of code in1
files - Took 1 minute and 58 seconds to review
More info
- Skipped
0
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/routes/app/StepList.tsx:298
:
- Assessed confidence :
0%
- Comment:
Good UX improvement to disable the 'Expand All' button when there are no spans to expand. The implementation is correct and the code is clean. - Reasoning:
The PR introduces a new feature to disable the 'Expand All' button when there are no spans to expand. This is a good UX improvement as it prevents users from trying to expand when there's nothing to expand. The implementation seems correct as it checks if there are any spans before enabling the button. The code is also clean and follows good practices.
Workflow ID: wflow_JfKeFWKXhjQOurbD
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a few things
from burr.visibility import TracingFactory | ||
from burr.core import action | ||
|
||
@action(reads=['input_var'], writes=['output_var'], __tracer: TracingFactory) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrong -- not valid python
from burr.core import action | ||
|
||
@action(reads=['input_var'], writes=['output_var'], __tracer: TracingFactory) | ||
def my_action(state: State) -> Tuple[dict, State]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add __logger
to demonstrate
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested.
- Performed an incremental review on 8de0304
- Looked at
49
lines of code in2
files - Took 1 minute and 31 seconds to review
More info
- Skipped
1
files when reviewing. - Skipped posting
1
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/routes/ProjectList.tsx:49
:
- Assessed confidence :
100%
- Grade:
0%
- Comment:
Consider using the Link component from react-router-dom for navigation instead of using an onClick event handler. This is a more standard practice and can prevent unexpected behavior.
<Link to={`/project/${project.id}`}>...</Link>
- Reasoning:
The onClick event handler in the TableRow component in ProjectList.tsx is used to navigate to a different page. This is not a good practice as it can lead to unexpected behavior. It's better to use the Link component from react-router-dom for navigation.
Workflow ID: wflow_Rj73xmsC9BkvkkXs
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. We'll respond in a few minutes. Learn more here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me!
- Performed an incremental review on 4455cf2
- Looked at
49
lines of code in2
files - Took 1 minute and 55 seconds to review
More info
- Skipped
1
files when reviewing. - Skipped posting
2
additional comments because they didn't meet confidence threshold of50%
.
1. /telemetry/ui/src/components/common/href.tsx:10
:
- Assessed confidence :
80%
- Grade:
0%
- Comment:
ThestopPropagation
method in theonClick
event handler could potentially interfere with other event handlers that are expecting to receive this event. Please provide more context on why this is necessary and what the 'parent href' refers to. - Reasoning:
The onClick event handler in the LinkText component is stopping propagation of the click event. This could potentially interfere with other event handlers that are expecting to receive this event. It's not clear why this is necessary from the PR description or the code comments. It's also not clear what the 'parent href' mentioned in the comment refers to.
2. /telemetry/ui/src/components/routes/ProjectList.tsx:49
:
- Assessed confidence :
90%
- Grade:
0%
- Comment:
TheTableRow
component has anonClick
event handler that navigates to a new page. However, it also contains aLinkText
component which also navigates to a new page when clicked. This could potentially lead to unexpected behavior if both are triggered at the same time. - Reasoning:
The TableRow component in the ProjectListTable component has an onClick event handler that navigates to a new page. However, it also contains a LinkText component which also navigates to a new page when clicked. This could potentially lead to unexpected behavior if both are triggered at the same time.
Workflow ID: wflow_jibD0f2jnKAqaeNM
Not what you expected? You can customize the content of the reviews using rules. Learn more here.
Summary:
This PR introduces a new tracing feature, updates classes for asynchronous actions, introduces new models, modifies the UI layout, updates UI components, adds new chip colors, introduces a new
get_uri
function, simplifies the code, fixes a key issue, and corrects text.Key points:
TracerFactory
class.Application
class for asynchronous actions.BeginEntryModel
,BeginSpanModel
,EndEntryModel
,Span
, andStep
.StepList
andGraphView
UI components to display new tracing feature.get_uri
function to map project IDs to URIs.TracerFactory
.TableRow
component inAppList.tsx
./burr/cli/demo_data.py
.Generated with ❤️ by ellipsis.dev