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

[staging] Monthly sensing metrics are not showing up; overall ones do work #93

Open
shankari opened this issue Sep 13, 2023 · 15 comments
Open

Comments

@shankari
Copy link
Contributor

Overall works Monthly does not
Screenshot 2023-09-13 at 7 41 52 AM Screenshot 2023-09-13 at 7 42 23 AM

There's probably an error fairly high in the stack for the monthly launches.

@shankari
Copy link
Contributor Author

shankari commented Sep 13, 2023

I see this error

Running at 2023-09-13T08:07:47.906510+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=9), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]


expanded_ct, file_suffix, quality_text, debug_df = scaffolding.load_viz_notebook_sensor_inference_data(year,
month,
program,
include_test_users,
sensed_algo_prefix)
------------------
----- stdout -----
Loaded all confirmed trips of length 0
------------------
�[0;31m---------------------------------------------------------------------------�[0m
�[0;31mAttributeError�[0m                            Traceback (most recent call last)
Cell �[0;32mIn[3], line 1�[0m
�[0;32m----> 1�[0m expanded_ct, file_suffix, quality_text, debug_df �[38;5;241m=�[39m �[43mscaffolding�[49m�[38;5;241;43m.�[39;49m�[43mload_viz_notebook_sensor_inference_data�[49m�[43m(�[49m�[43myear�[49m�[43m,�[49m
�[1;32m      2�[0m �[43m                                                                            �[49m�[43mmonth�[49m�[43m,�[49m
�[1;32m      3�[0m �[43m                                                                            �[49m�[43mprogram�[49m�[43m,�[49m
�[1;32m      4�[0m �[43m                                                                            �[49m�[43minclude_test_users�[49m�[43m,�[49m
�[1;32m      5�[0m �[43m                                                                            �[49m�[43msensed_algo_prefix�[49m�[43m)�[49m
File �[0;32m/usr/src/app/saved-notebooks/scaffolding.py:173�[0m, in �[0;36mload_viz_notebook_sensor_inference_data�[0;34m(year, month, program, include_test_users, sensed_algo_prefix)�[0m
�[1;32m    171�[0m participant_ct_df �[38;5;241m=�[39m load_all_participant_trips(program, tq, include_test_users)
�[1;32m    172�[0m expanded_ct �[38;5;241m=�[39m participant_ct_df
�[0;32m--> 173�[0m expanded_ct[�[38;5;124m"�[39m�[38;5;124mprimary_mode_non_other�[39m�[38;5;124m"�[39m] �[38;5;241m=�[39m �[43mparticipant_ct_df�[49m�[38;5;241;43m.�[39;49m�[43mcleaned_section_summary�[49m�[38;5;241m.�[39mapply(�[38;5;28;01mlambda�[39;00m md: �[38;5;28mmax�[39m(md[�[38;5;124m"�[39m�[38;5;124mdistance�[39m�[38;5;124m"�[39m], key�[38;5;241m=�[39mmd[�[38;5;124m"�[39m�[38;5;124mdistance�[39m�[38;5;124m"�[39m]�[38;5;241m.�[39mget))
�[1;32m    174�[0m expanded_ct�[38;5;241m.�[39mprimary_mode_non_other�[38;5;241m.�[39mreplace({�[38;5;124m"�[39m�[38;5;124mON_FOOT�[39m�[38;5;124m"�[39m: �[38;5;124m"�[39m�[38;5;124mWALKING�[39m�[38;5;124m"�[39m}, inplace�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m)
�[1;32m    175�[0m valid_sensed_modes �[38;5;241m=�[39m [�[38;5;124m"�[39m�[38;5;124mWALKING�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mBICYCLING�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mIN_VEHICLE�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mAIR_OR_HSR�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mUNKNOWN�[39m�[38;5;124m"�[39m]
File �[0;32m~/miniconda-23.1.0/envs/emission/lib/python3.9/site-packages/pandas/core/generic.py:5902�[0m, in �[0;36mNDFrame.__getattr__�[0;34m(self, name)�[0m
�[1;32m   5895�[0m �[38;5;28;01mif�[39;00m (
�[1;32m   5896�[0m     name �[38;5;129;01mnot�[39;00m �[38;5;129;01min�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_internal_names_set
�[1;32m   5897�[0m     �[38;5;129;01mand�[39;00m name �[38;5;129;01mnot�[39;00m �[38;5;129;01min�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_metadata
�[1;32m   5898�[0m     �[38;5;129;01mand�[39;00m name �[38;5;129;01mnot�[39;00m �[38;5;129;01min�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_accessors
�[1;32m   5899�[0m     �[38;5;129;01mand�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_info_axis�[38;5;241m.�[39m_can_hold_identifiers_and_holds_name(name)
�[1;32m   5900�[0m ):
�[1;32m   5901�[0m     �[38;5;28;01mreturn�[39;00m �[38;5;28mself�[39m[name]
�[0;32m-> 5902�[0m �[38;5;28;01mreturn�[39;00m �[38;5;28;43mobject�[39;49m�[38;5;241;43m.�[39;49m�[38;5;21;43m__getattribute__�[39;49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[43m,�[49m�[43m �[49m�[43mname�[49m�[43m)�[49m
�[0;31mAttributeError�[0m: 'DataFrame' object has no attribute 'cleaned_section_summary'

And then we move on to

Successfully downloaded config with version 1 for Staging environment for testing programs only and data collection URL https://openpath-stage.nrel.gov/api/
Running at 2023-09-13T08:07:52.901175+00:00 with args Namespace(plot_notebook='generic_timeseries.ipynb', program='default', date=None) for range (<Arrow [2020-09-01T00:00:00+00:00]>, <Arrow [2023-09-01T00:00:00+00:00]>)

@shankari
Copy link
Contributor Author

This is because we didn't fill in the section summaries (backwards compat) for staging.
Let's do that now...

@shankari
Copy link
Contributor Author

Older months are still broken with the same error.

expanded_ct, file_suffix, quality_text, debug_df = scaffolding.load_viz_notebook_sensor_inference_data(year,
--
month,
program,
include_test_users,
sensed_algo_prefix)
------------------
----- stdout -----
Loaded all confirmed trips of length 0
------------------
�[0;31m---------------------------------------------------------------------------�[0m
�[0;31mAttributeError�[0m                            Traceback (most recent call last)
Cell �[0;32mIn[3], line 1�[0m
�[0;32m----> 1�[0m expanded_ct, file_suffix, quality_text, debug_df �[38;5;241m=�[39m �[43mscaffolding�[49m�[38;5;241;43m.�[39;49m�[43mload_viz_notebook_sensor_inference_data�[49m�[43m(�[49m�[43myear�[49m�[43m,�[49m
�[1;32m      2�[0m �[43m                                                                            �[49m�[43mmonth�[49m�[43m,�[49m
�[1;32m      3�[0m �[43m                                                                            �[49m�[43mprogram�[49m�[43m,�[49m
�[1;32m      4�[0m �[43m                                                                            �[49m�[43minclude_test_users�[49m�[43m,�[49m
�[1;32m      5�[0m �[43m                                                                            �[49m�[43msensed_algo_prefix�[49m�[43m)�[49m
File �[0;32m/usr/src/app/saved-notebooks/scaffolding.py:173�[0m, in �[0;36mload_viz_notebook_sensor_inference_data�[0;34m(year, month, program, include_test_users, sensed_algo_prefix)�[0m
�[1;32m    171�[0m participant_ct_df �[38;5;241m=�[39m load_all_participant_trips(program, tq, include_test_users)
�[1;32m    172�[0m expanded_ct �[38;5;241m=�[39m participant_ct_df
�[0;32m--> 173�[0m expanded_ct[�[38;5;124m"�[39m�[38;5;124mprimary_mode_non_other�[39m�[38;5;124m"�[39m] �[38;5;241m=�[39m �[43mparticipant_ct_df�[49m�[38;5;241;43m.�[39;49m�[43mcleaned_section_summary�[49m�[38;5;241m.�[39mapply(�[38;5;28;01mlambda�[39;00m md: �[38;5;28mmax�[39m(md[�[38;5;124m"�[39m�[38;5;124mdistance�[39m�[38;5;124m"�[39m], key�[38;5;241m=�[39mmd[�[38;5;124m"�[39m�[38;5;124mdistance�[39m�[38;5;124m"�[39m]�[38;5;241m.�[39mget))
�[1;32m    174�[0m expanded_ct�[38;5;241m.�[39mprimary_mode_non_other�[38;5;241m.�[39mreplace({�[38;5;124m"�[39m�[38;5;124mON_FOOT�[39m�[38;5;124m"�[39m: �[38;5;124m"�[39m�[38;5;124mWALKING�[39m�[38;5;124m"�[39m}, inplace�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m)
�[1;32m    175�[0m valid_sensed_modes �[38;5;241m=�[39m [�[38;5;124m"�[39m�[38;5;124mWALKING�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mBICYCLING�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mIN_VEHICLE�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mAIR_OR_HSR�[39m�[38;5;124m"�[39m, �[38;5;124m"�[39m�[38;5;124mUNKNOWN�[39m�[38;5;124m"�[39m]
File �[0;32m~/miniconda-23.1.0/envs/emission/lib/python3.9/site-packages/pandas/core/generic.py:5902�[0m, in �[0;36mNDFrame.__getattr__�[0;34m(self, name)�[0m
�[1;32m   5895�[0m �[38;5;28;01mif�[39;00m (
�[1;32m   5896�[0m     name �[38;5;129;01mnot�[39;00m �[38;5;129;01min�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_internal_names_set
�[1;32m   5897�[0m     �[38;5;129;01mand�[39;00m name �[38;5;129;01mnot�[39;00m �[38;5;129;01min�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_metadata
�[1;32m   5898�[0m     �[38;5;129;01mand�[39;00m name �[38;5;129;01mnot�[39;00m �[38;5;129;01min�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_accessors
�[1;32m   5899�[0m     �[38;5;129;01mand�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_info_axis�[38;5;241m.�[39m_can_hold_identifiers_and_holds_name(name)
�[1;32m   5900�[0m ):
�[1;32m   5901�[0m     �[38;5;28;01mreturn�[39;00m �[38;5;28mself�[39m[name]
�[0;32m-> 5902�[0m �[38;5;28;01mreturn�[39;00m �[38;5;28;43mobject�[39;49m�[38;5;241;43m.�[39;49m�[38;5;21;43m__getattribute__�[39;49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[43m,�[49m�[43m �[49m�[43mname�[49m�[43m)�[49m
�[0;31mAttributeError�[0m: 'DataFrame' object has no attribute 'cleaned_section_summary'
/usr/src/app/saved-notebooks/bin/generate_plots.py:30: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if r.status_code is not 200:
About to download config from https://raw.githubusercontent.com/e-mission/nrel-openpath-deploy-configs/main/configs/stage-program.nrel-op.json

@shankari
Copy link
Contributor Author

This may be just because we are not dealing properly with an empty dataframe (e.g. a month in which we have no data).
For the labeled trip metrics, we do check for existence of columns

    if "mode_confirm" in expanded_ct.columns:
        expanded_ct['Mode_confirm']= expanded_ct['mode_confirm'].map(dic_re)

which was added to handle the case that the column didn't exist
16752ae

Let's add a similar check to the sensed values.

@shankari
Copy link
Contributor Author

After adding the check, we move past that cell, but run into an error while generating the graph.

During handling of the above exception, another exception occurred:

NameError                                 Traceback (most recent call last)
Cell In[4], line 11
      9     print(expanded_ct['primary_mode'].value_counts(dropna=True))
     10 except Exception as e:
---> 11     logging.exception(e)
     12     generate_missing_plot(plot_title_no_quality,debug_df,file_name)
     13     alt_text = store_alt_text_missing(debug_df, file_name, plot_title_no_quality)

NameError: name 'logging' is not defined

@shankari
Copy link
Contributor Author

It looks like generic_metrics.ipynb doesn't import logging either. How does this work for the labeled metrics?

@shankari
Copy link
Contributor Author

shankari commented Sep 15, 2023

Ah but generic_metrics.ipynb doesn't have logging.exception. The related code is
Screenshot 2023-09-14 at 10 37 12 PM

I am not sure where we got the logging statements from.
I don't see them in the git blame for
140f254

Maybe there is a copy somewhere that does use logging?
Regardless, let us just make generic_metrics and generic_metrics_sensed be the same for now.
Except for the first two metrics they are consistent after all.

@shankari
Copy link
Contributor Author

OK, with those fixes, I don't see errors any more

Running at 2023-09-15T05:45:28.597226+00:00 with args Namespace(plot_notebook='generic_metrics_sensed.ipynb', program='default', date=None) for range (<Arrow [2020-09-01T00:00:00+00:00]>, <Arrow [2023-09-01T00:00:00+00:00]>)
Running at 2023-09-15T05:45:28.687042+00:00 with params [Parameter('year', int), Parameter('month', int), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T05:45:43.415286+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=9), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T05:45:53.350915+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=10), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T05:46:03.411397+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=11), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T05:46:13.671814+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=12), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]

@shankari
Copy link
Contributor Author

Tested against a blank database, works

Running at 2023-09-15T06:01:15.813508+00:00 with args Namespace(plot_notebook='generic_metrics_sensed.ipynb', program='default', date=None) for range (<Arrow [2020-09-01T00:00:00+00:00]>, <Arrow [2023-09-01T00:00:00+00:00]>)
Running at 2023-09-15T06:01:15.856015+00:00 with params [Parameter('year', int), Parameter('month', int), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T06:01:23.204287+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=9), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T06:01:29.424328+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=10), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T06:01:36.301689+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=11), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]
Running at 2023-09-15T06:01:42.947388+00:00 with params [Parameter('year', int, value=2020), Parameter('month', int, value=12), Parameter('program', str, value='default'), Parameter('study_type', str, value='program'), Parameter('include_test_users', bool, value=True), Parameter('sensed_algo_prefix', str, value='cleaned')]

@shankari
Copy link
Contributor Author

Fixed in #94

After pushing to staging, we see entries for monthly metrics. Note that the very old months still don't have any values,

Screenshot 2023-09-16 at 7 35 19 AM

but neither do the metrics for the labeled values.

Screenshot 2023-09-16 at 7 35 54 AM

At some point, we need to see why the older months are not showing up on staging, but that is outside the scope of this change.

@shankari
Copy link
Contributor Author

shankari commented Sep 18, 2023

This is working fine on production for:

  • cortez ebikes
  • Smart Commute
  • USAID EV Laos

However, MassCEC is not even displaying the aggregate values

On investigating further, I see



File �[0;32m~/miniconda-23.1.0/envs/emission/lib/python3.9/site-packages/pandas/core/apply.py:1174�[0m, in �[0;36mSeriesApply.apply_standard�[0;34m(self)�[0m
--
�[1;32m   1172�[0m     �[38;5;28;01melse�[39;00m:
�[1;32m   1173�[0m         values �[38;5;241m=�[39m obj�[38;5;241m.�[39mastype(�[38;5;28mobject�[39m)�[38;5;241m.�[39m_values
�[0;32m-> 1174�[0m         mapped �[38;5;241m=�[39m �[43mlib�[49m�[38;5;241;43m.�[39;49m�[43mmap_infer�[49m�[43m(�[49m
�[1;32m   1175�[0m �[43m            �[49m�[43mvalues�[49m�[43m,�[49m
�[1;32m   1176�[0m �[43m            �[49m�[43mf�[49m�[43m,�[49m
�[1;32m   1177�[0m �[43m            �[49m�[43mconvert�[49m�[38;5;241;43m=�[39;49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mconvert_dtype�[49m�[43m,�[49m
�[1;32m   1178�[0m �[43m        �[49m�[43m)�[49m
�[1;32m   1180�[0m �[38;5;28;01mif�[39;00m �[38;5;28mlen�[39m(mapped) �[38;5;129;01mand�[39;00m �[38;5;28misinstance�[39m(mapped[�[38;5;241m0�[39m], ABCSeries):

from

File �[0;32m~/miniconda-23.1.0/envs/emission/lib/python3.9/site-packages/pandas/_libs/lib.pyx:2924�[0m, in �[0;36mpandas._libs.lib.map_infer�[0;34m()�[0m
File �[0;32m/usr/src/app/saved-notebooks/scaffolding.py:175�[0m, in �[0;36mload_viz_notebook_sensor_inference_data.<locals>.<lambda>�[0;34m(md)�[0m
�[1;32m    173�[0m �[38;5;28mprint�[39m(�[38;5;124mf�[39m�[38;5;124m"�[39m�[38;5;124mLoaded expanded_ct with length �[39m�[38;5;132;01m{�[39;00m�[38;5;28mlen�[39m(expanded_ct)�[38;5;132;01m}�[39;00m�[38;5;124m for �[39m�[38;5;132;01m{�[39;00mtq�[38;5;132;01m}�[39;00m�[38;5;124m"�[39m)

This is because the last few entries don't have a cleaned section summary

>>> participant_ct_df.cleaned_section_summary.tail()
15535    NaN
15536    NaN
15537    NaN
15538    NaN
15539    NaN

@shankari
Copy link
Contributor Author

Or inferred_section_summary for that matter

>>> participant_ct_df.inferred_section_summary.tail()
15535    NaN
15536    NaN
15537    NaN
15538    NaN
15539    NaN

@shankari
Copy link
Contributor Author

They appear to occur intermittently through the dataset

>>> participant_ct_df.inferred_section_summary[participant_ct_df.inferred_section_summary.isna()]
2156     NaN
2157     NaN
2158     NaN
2419     NaN
2420     NaN
        ...
15535    NaN
15536    NaN
15537    NaN
15538    NaN
15539    NaN

@shankari
Copy link
Contributor Author

Huh! The values are fairly old.

>>> participant_ct_df.tail()[["start_fmt_time"]]
                         start_fmt_time
15535         2022-12-02T12:28:47-05:00
15536         2022-11-26T16:09:54-05:00
15537  2022-11-21T12:04:06.994000-05:00
15538  2022-11-19T16:56:04.040000-05:00
15539  2023-02-10T15:24:11.210000-05:00

They were also generated a fairly long time ago

>>> participant_ct_df.tail()[["start_fmt_time", "metadata_write_ts"]].metadata_write_ts.apply(lambda ts: arrow.get(ts))
15535    2022-12-02T18:38:07.440729+00:00
15536    2022-12-02T18:38:07.434509+00:00
15537    2022-11-24T19:36:43.130576+00:00
15538    2022-11-21T17:36:53.665845+00:00
15539    2023-02-10T21:39:03.219593+00:00

@shankari
Copy link
Contributor Author

shankari commented Sep 18, 2023

There are definitely some from fairly recent runs though - let's look them up and see what happened...

>>> participant_ct_df[["start_fmt_time", "metadata_write_ts"]].metadata_write_ts.sort_values().apply(lambda ts: arrow.get(ts))
12375    2022-07-25T23:58:42.634159+00:00
12372    2022-07-26T13:58:45.960762+00:00
12370    2022-07-26T23:58:34.841258+00:00
12368    2022-07-27T23:59:48.997941+00:00
12367    2022-07-27T23:59:49.005300+00:00
                       ...
621      2023-09-18T14:47:48.462980+00:00
620      2023-09-18T14:50:01.130147+00:00
619      2023-09-18T15:39:55.404926+00:00
618      2023-09-18T15:40:57.813417+00:00
617      2023-09-18T15:42:24.534757+00:00
>>> participant_ct_df[["start_fmt_time", "metadata_write_ts", "user_id"]].sort_values(by="metadata_write_ts")
                         start_fmt_time  metadata_write_ts                               user_id
12375  2022-07-25T19:06:51.489120-04:00       1.658794e+09  6f6ac06c-853a-428a-a56a-a3fee7d3d90c
12372  2022-07-26T08:57:28.563725-04:00       1.658844e+09  6f6ac06c-853a-428a-a56a-a3fee7d3d90c
12370  2022-07-26T19:15:50.851184-04:00       1.658880e+09  6f6ac06c-853a-428a-a56a-a3fee7d3d90c
12368  2022-07-26T19:47:21.690778-04:00       1.658966e+09  6f6ac06c-853a-428a-a56a-a3fee7d3d90c
12367  2022-07-27T18:47:45.335287-04:00       1.658966e+09  6f6ac06c-853a-428a-a56a-a3fee7d3d90c
...                                 ...                ...                                   ...
621    2023-09-18T09:02:03.387820-04:00       1.695048e+09  9c25f637-cfe8-4168-a37d-0220a2a115f9
620    2023-09-18T10:26:50.974742-04:00       1.695049e+09  18b46820-24b4-4737-bc9f-8cf88bb15d62
619    2023-09-18T10:29:25.465087-04:00       1.695052e+09  9c25f637-cfe8-4168-a37d-0220a2a115f9
618    2023-09-18T10:36:17.669238-04:00       1.695052e+09  ea4d0c23-5b1a-4579-be82-fed2e9bf498a
617    2023-09-18T10:58:14.584537-04:00       1.695052e+09  18b46820-24b4-4737-bc9f-8cf88bb15d62

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

No branches or pull requests

1 participant