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

Add feature to set and delete description of a run. #5534

Merged
merged 5 commits into from
Mar 30, 2022

Conversation

dogeplusplus
Copy link
Contributor

@dogeplusplus dogeplusplus commented Mar 26, 2022

Signed-off-by: Albert Chung albertswchung@gmail.com

How is this patch tested?

Test fluent has an additional test to set the description, delete it, and then try to delete it again (throwing an exception). When deleting the description again we get the same error with deleting a non-existent tag.

Does this PR change the documentation?

  • No. You can skip the rest of this section.
  • Yes. Make sure the changed pages / sections render correctly by following the steps below.
  1. Check the status of the ci/circleci: build_doc check. If it's successful, proceed to the
    next step, otherwise fix it.
  2. Click Details on the right to open the job page of CircleCI.
  3. Click the Artifacts tab.
  4. Click docs/build/html/index.html.
  5. Find the changed pages / sections and make sure they render correctly.

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

Support for setting the description of a run with an optional description parameter in mlflow.start_run(). Descriptions can be set and also removed using mlflow.set_description() and mlflow.delete_description() respectively.

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/artifacts: Artifact stores and artifact logging
  • area/build: Build and test infrastructure for MLflow
  • area/docs: MLflow documentation pages
  • area/examples: Example code
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/projects: MLproject format, project running backends
  • area/scoring: MLflow Model server, model deployment tools, Spark UDFs
  • area/server-infra: MLflow Tracking server backend
  • area/tracking: Tracking Service, tracking client APIs, autologging

Interface

  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server
  • area/docker: Docker use across MLflow's components, such as MLflow Projects and MLflow Models
  • area/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registry
  • area/windows: Windows support

Language

  • language/r: R APIs and clients
  • language/java: Java APIs and clients
  • language/new: Proposals for new client languages

Integrations

  • integrations/azure: Azure and Azure ML integrations
  • integrations/sagemaker: SageMaker integrations
  • integrations/databricks: Databricks integrations

How should the PR be classified in the release notes? Choose one:

  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

Signed-off-by: Albert Chung <albertswchung@gmail.com>
@github-actions github-actions bot added area/tracking Tracking service, tracking client APIs, autologging rn/documentation Mention under Documentation Changes in Changelogs. rn/feature Mention under Features in Changelogs. labels Mar 26, 2022
CHANGELOG.md Outdated Show resolved Hide resolved
@BenWilson2
Copy link
Member

Hi @dogeplusplus thank you for tackling this FR! Just a few comments to address. Prior to your next push, could you merge the master branch to this branch to ensure that the fix for the circleci tests is incorporated into your branch?
Thanks!

Copy link
Member

@BenWilson2 BenWilson2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the fluent API function additions of set_description() and delete_description().
We can limit the scope of this change by adding a description only during the start_run call. If there is a programmatic need to change that tag, utilization of tag manipulation that already exists can be used.

mlflow/tracking/fluent.py Outdated Show resolved Hide resolved
@dogeplusplus
Copy link
Contributor Author

dogeplusplus commented Mar 28, 2022

Thank you for reviewing the PR. I have made the recommended changes:

  • Reverted the change log
  • Removing set_description and delete_description as well as tests/references to it in documentation
  • In start run we append the description to the tags if it exists already, or creates a tags dictionary with just this populated
  • If the description key and the MLFLOW_RUN_NOTE in tags are both specified I throw an MlflowException to avoid unexpected behavior
  • 4 extra tests for start run:
    • Start run to set description
    • Start run with description and also the key is in tags (throws)
    • Resume run to set description
    • Resume run to set description where also the key is in tags (throws)

Let me know if there are any further suggestions.

EDIT: It seems I'm having errors with importing the black during formatting, linting, and some R tests. Does anyone have ideas on why it might be wrong?

@github-actions github-actions bot removed the rn/documentation Mention under Documentation Changes in Changelogs. label Mar 28, 2022
@dogeplusplus
Copy link
Contributor Author

autoformat

@BenWilson2
Copy link
Member

We merged the linter upgrade fix into master last night. If you pull master again into your branch it should work now. Sorry for asking for that again!

Copy link
Member

@BenWilson2 BenWilson2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the contribution and I hope it is the first of many!
LGTM!

if MLFLOW_RUN_NOTE in user_specified_tags:
raise MlflowException(
f"Description is already set via the tag {MLFLOW_RUN_NOTE} in tags."
f"Remove the key {MLFLOW_RUN_NOTE} from the tags or omit the description."
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Can we use error code INVALID_PARAMETER_VALUE here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I think I've added this now.

Signed-off-by: Albert Chung <albertswchung@gmail.com>
@BenWilson2
Copy link
Member

Thank you for the submission @dogeplusplus . Let us know when you'd like to make another contribution!

@BenWilson2 BenWilson2 merged commit fd640e6 into mlflow:master Mar 30, 2022
@dogeplusplus dogeplusplus deleted the issue-5526 branch March 30, 2022 21:13
vvijay-bolt pushed a commit to vvijay-bolt/mlflow that referenced this pull request Mar 30, 2022
* Add feature to set and delete description of a run.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Add edge case handling when run description is set twice, add tests for each scenario.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Throw INVALID_PARAMETER_VALUE error code when setting description twice.

Signed-off-by: Albert Chung <albertswchung@gmail.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>
vvijay-bolt pushed a commit to vvijay-bolt/mlflow that referenced this pull request Mar 30, 2022
* Add feature to set and delete description of a run.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Add edge case handling when run description is set twice, add tests for each scenario.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Throw INVALID_PARAMETER_VALUE error code when setting description twice.

Signed-off-by: Albert Chung <albertswchung@gmail.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>
erensahin pushed a commit to erensahin/mlflow that referenced this pull request Apr 11, 2022
* Add feature to set and delete description of a run.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Add edge case handling when run description is set twice, add tests for each scenario.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Throw INVALID_PARAMETER_VALUE error code when setting description twice.

Signed-off-by: Albert Chung <albertswchung@gmail.com>
BenWilson2 pushed a commit that referenced this pull request Apr 13, 2022
* Refactor files in `tests/db` to allow running tests in repository root (#5513)

* rename postgres.schema

Signed-off-by: harupy <hkawamura0130@gmail.com>

* Refactor database tests

Signed-off-by: harupy <hkawamura0130@gmail.com>

* remove import sqlalchemy

Signed-off-by: harupy <hkawamura0130@gmail.com>

* fix docker-compose down

Signed-off-by: harupy <hkawamura0130@gmail.com>

* update

Signed-off-by: harupy <hkawamura0130@gmail.com>

* fix lint failures

Signed-off-by: harupy <hkawamura0130@gmail.com>

* blacken

Signed-off-by: harupy <hkawamura0130@gmail.com>

* more fixes

Signed-off-by: harupy <hkawamura0130@gmail.com>

* add tests/db/compose.sh

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* rename

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* use compose v2

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* remove grep

Signed-off-by: harupy <hkawamura0130@gmail.com>

* run command using exec

Signed-off-by: harupy <hkawamura0130@gmail.com>

* set --no-TTY

Signed-off-by: harupy <hkawamura0130@gmail.com>

* specify image and remove redundant build arg

Signed-off-by: harupy <hkawamura0130@gmail.com>

* fix workflow

Signed-off-by: harupy <hkawamura0130@gmail.com>

* improve README

Signed-off-by: harupy <hkawamura0130@gmail.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Append user agent added by request_header_provider to default user agent (#5502)

* User agent added by request_header_plugin gets appended to default user agent

Signed-off-by: singankit <anksing@microsoft.com>

* Adding large marker following similar test with the marker

Signed-off-by: singankit <anksing@microsoft.com>

* Appending headers from various request_header_providers

Signed-off-by: singankit <anksing@microsoft.com>

* Review comments to use dict method

Signed-off-by: singankit <anksing@microsoft.com>

* Adding default request header provider

Signed-off-by: singankit <anksing@microsoft.com>

* Fixing typo in test

Signed-off-by: singankit <anksing@microsoft.com>

* Fixing rest_utils test

Signed-off-by: singankit <anksing@microsoft.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* use schema when parsing csv

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Use split (#5522)

Signed-off-by: dbczumar <corey.zumar@databricks.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Fix issue #2804 - Set run name in MLProject execution (#5187)

* Add mlflow run name to projects.run()

Signed-off-by: bramrodenburg <14278376+bramrodenburg@users.noreply.github.com>

* Renamed MLFLOW_RUN_NAME to RUN_NAME in CLI metavars

Signed-off-by: bramrodenburg <14278376+bramrodenburg@users.noreply.github.com>

* Update CLI docstring

* Address feedback

* Autoformat: https://github.com/mlflow/mlflow/actions/runs/2031948113

Signed-off-by: mlflow-automation <mlflow-automation@users.noreply.github.com>

Co-authored-by: Corey Zumar <39497902+dbczumar@users.noreply.github.com>
Co-authored-by: mlflow-automation <mlflow-automation@users.noreply.github.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Restoring virtual python environment for mlflow pyfunc spark_udf (#5487)

* init

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* debug ci

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* black

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* fix tests

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* fix test

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Set timezone to UTC in windows (#5538)

* Diable Daylight Saving time adjustments in windows

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* use utc

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* init (#5532)

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* feat: pyspark autologging enhancement (#5481)

* feat: general support for autologging models containing parameters of type Param and fix some comments

Signed-off-by: Xinyue Ruan <serena.rxy@gmail.com>

* fix format

Signed-off-by: Xinyue Ruan <serena.rxy@gmail.com>

* fix jinja2 import error

Signed-off-by: Xinyue Ruan <serena.rxy@gmail.com>

* update function doc

Signed-off-by: Xinyue Ruan <serena.rxy@gmail.com>

* add Evaluator type param into testcase

Signed-off-by: Xinyue Ruan <serena.rxy@gmail.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Fix invalid Anaconda URLs (#5547)

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Use latest version of black fo fix lint check (#5548)

* Use latest version of black

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* run black

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* test for csv parsing

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Removing the mention of tf1. (#5552)

Removing the mention of tf1 since this directory mentions the examples of using tf2. For users on TF1, use the migration guide: https://www.tensorflow.org/guide/migrate

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Run `test_sqlalchemy_store.py` against PostgreSQL, MySQL, and MSSQL (#5540)

* run test_sqlalchemy_store

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* use IS NULL

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* rename test classes

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* fix like operation

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* use method

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* use constants

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* use LIKE before LIKE BINARY

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* use Japanese_Bushu_Kakusu

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* remove _UTF8

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* reset experiment_id

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Make tensorflow model prediction support array type input (#5545)

* init

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* add test

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Removed utility function, use zip

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Implement function to get MLflow pyfunc model dependencies (#5503)

* init

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* init

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update doc

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* split test

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* refactor

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>

* update

Signed-off-by: Weichen Xu <weichen.xu@databricks.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* replace universal_newlines with text (#5557)

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Fix #5551 - PyTorch LightningDeprecationWarning ModelSummary and get_gpu_memory_map (#5559)

* Fix #5551 - PyTorch LightningDeprecationWarning ModelSummary and get_gpu_memory_map

Signed-off-by: Bruno Cabado Lousa <sr.brunocabado@gmail.com>

* Fix version check

Signed-off-by: Bruno Cabado Lousa <sr.brunocabado@gmail.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Pin `click` to fix spacy tests (#5560)

* pin click

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* add spacy as extra dependency

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>

* pin flask

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Add default experiment ID provider for repo notebooks (#5449)

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Add feature to set and delete description of a run. (#5534)

* Add feature to set and delete description of a run.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Add edge case handling when run description is set twice, add tests for each scenario.

Signed-off-by: Albert Chung <albertswchung@gmail.com>

* Throw INVALID_PARAMETER_VALUE error code when setting description twice.

Signed-off-by: Albert Chung <albertswchung@gmail.com>
Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* revert change to json utils

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* revert change to json utils

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* Autoformat: https://github.com/mlflow/mlflow/actions/runs/2091247297

Signed-off-by: mlflow-automation <mlflow-automation@users.noreply.github.com>

* move string io

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* remove file

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

* remove files

Signed-off-by: Varun Kumar Vijay <vvijay@bolt.com>

Co-authored-by: Harutaka Kawamura <hkawamura0130@gmail.com>
Co-authored-by: Ankit Singhal <30610298+singankit@users.noreply.github.com>
Co-authored-by: Corey Zumar <39497902+dbczumar@users.noreply.github.com>
Co-authored-by: bramrodenburg <14278376+bramrodenburg@users.noreply.github.com>
Co-authored-by: mlflow-automation <mlflow-automation@users.noreply.github.com>
Co-authored-by: WeichenXu <weichen.xu@databricks.com>
Co-authored-by: Serena Ruan <82044803+serena-ruan@users.noreply.github.com>
Co-authored-by: Vini Jaiswal <vini.js1303@gmail.com>
Co-authored-by: Bruno Cabado <Kr4is@users.noreply.github.com>
Co-authored-by: apurva-koti <51172624+apurva-koti@users.noreply.github.com>
Co-authored-by: Albert <albertswchung@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/tracking Tracking service, tracking client APIs, autologging rn/feature Mention under Features in Changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants