Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-18103

Revisit SQuaSH InfluxDB data model

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: squash
    • Labels:
      None

      Description

      This ticket revisits the current SQuaSH InfluxDB data model as implemented in DM-16300, summarizes ongoing changes and converge to a final proposal.

      The mapping between lsst.verify concepts to InfluxDB concepts:

      • lsst.verify package -> InfluxDB measurement
      • lsst.verify metadata -> InfluxDB tag
      • lsst.verify metric value - > InfluxDB field
      • Jenkins pipeline runtime -> InfluxDB timestamp

      Comments:

      • It is not possible to combine metric values (i.e. do math operations with metric values) that are in different measurements.
      • It seems more appropriate to add metadata like ci_id and squash_id as InfluxDB fields and not tags
      • It seems useful to have the timestamp as an InfluxDB field as well because it is not possible to do math with timestamps in InfluxDB. See this InfluxDB community post.
      • Define an appropriate time precision for the SQuaSH database in InfluxDB
      • The InlfuxDB schema is flat. It means that job metadata and environment metadata will be equally stored as InfluxDB tags.
      • Different execution environments (CI, LDF) can store metadata in SQuaSH preserving the original keys. At InfluxDB we can have a common data model so that we present an unified view of the different execution environment to the users (e.g ci_id and {run_id}} mapped to run_id).

        Attachments

          Issue Links

            Activity

            No builds found.
            afausti Angelo Fausti created issue -
            afausti Angelo Fausti made changes -
            Field Original Value New Value
            Epic Link DM-16744 [ 235432 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-17049 [ DM-17049 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-16775 [ DM-16775 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-17767 [ DM-17767 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-18060 [ DM-18060 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-18061 [ DM-18061 ]
            afausti Angelo Fausti made changes -
            Status To Do [ 10001 ] In Progress [ 3 ]
            Hide
            afausti Angelo Fausti added a comment -

            Consider DM-13122 that separates arbitrary job metadata from the execution environment metadata required by SQuaSH.

            Show
            afausti Angelo Fausti added a comment - Consider DM-13122 that separates arbitrary job metadata from the execution environment metadata required by SQuaSH.
            afausti Angelo Fausti made changes -
            Link This issue blocks DM-16942 [ DM-16942 ]
            afausti Angelo Fausti made changes -
            Watchers Angelo Fausti, Krzysztof Findeisen, Simon Krughoff [ Angelo Fausti, Krzysztof Findeisen, Simon Krughoff ] Angelo Fausti, Krzysztof Findeisen, Simon Krughoff, Yusra AlSayyad [ Angelo Fausti, Krzysztof Findeisen, Simon Krughoff, Yusra AlSayyad ]
            afausti Angelo Fausti made changes -
            Description This ticket captures the current SQuaSH InfluxDB data model, summarize the ongoing changes and converge to a final proposal.

            The mapping between {{lsst.verify}} concepts to InfluxDB concepts:

            - {{lsst.verify}} package -> InfluxDB measurement
            - {{lsst.verify}} metadata -> InfluxDB tag
            - {{lsst.verify}} metric value - > InfluxDB field
            - Jenkins pipeline runtime -> InfluxDB timestamp

            Comments:

            - It is not possible to combine metric values (i.e. do math operations) that are in different measurements.
            - Some metadata should be added as InfluxDB field and not tag, for example {{ci_id}} and {{squash_id}}
            - It seems useful to have the timestamp as an InfluxDB field as well because it is not possible to do math with timestamps in InfluxDB. See [this InfluxDB community post|https://community.influxdata.com/t/math-operations-on-field-value-and-time/6323/4] and [this other one|https://community.influxdata.com/t/storing-additional-timestamp-type-information-as-a-field/6082/2].
            - Define the appropriate time precision for the SQuaSH database
            This ticket captures the current SQuaSH InfluxDB data model, summarize the ongoing changes and converge to a final proposal.

            The mapping between {{lsst.verify}} concepts to InfluxDB concepts:

            - {{lsst.verify}} package -> InfluxDB measurement
            - {{lsst.verify}} metadata -> InfluxDB tag
            - {{lsst.verify}} metric value - > InfluxDB field
            - Jenkins pipeline runtime -> InfluxDB timestamp

            Comments:

            - It is not possible to combine metric values (i.e. do math operations with metric values) that are in different measurements.
            - It seems more appropriate to add metadata like {{ci_id}} and {{squash_id}} as InfluxDB fields and not tags
            - It seems useful to have the timestamp as an InfluxDB field as well because it is not possible to do math with timestamps in InfluxDB. See [this InfluxDB community post|https://community.influxdata.com/t/math-operations-on-field-value-and-time/6323/4] and [this other one|https://community.influxdata.com/t/storing-additional-timestamp-type-information-as-a-field/6082/2].
            - Define the appropriate time precision for the SQuaSH database
            - The InlfuxDB schema is flat. It means that job metadata and environment metadata will be equally stored as InfluxDB tags.
            afausti Angelo Fausti made changes -
            Summary Review SQuaSH InfluxDB data model Revisit SQuaSH InfluxDB data model
            afausti Angelo Fausti made changes -
            Description This ticket captures the current SQuaSH InfluxDB data model, summarize the ongoing changes and converge to a final proposal.

            The mapping between {{lsst.verify}} concepts to InfluxDB concepts:

            - {{lsst.verify}} package -> InfluxDB measurement
            - {{lsst.verify}} metadata -> InfluxDB tag
            - {{lsst.verify}} metric value - > InfluxDB field
            - Jenkins pipeline runtime -> InfluxDB timestamp

            Comments:

            - It is not possible to combine metric values (i.e. do math operations with metric values) that are in different measurements.
            - It seems more appropriate to add metadata like {{ci_id}} and {{squash_id}} as InfluxDB fields and not tags
            - It seems useful to have the timestamp as an InfluxDB field as well because it is not possible to do math with timestamps in InfluxDB. See [this InfluxDB community post|https://community.influxdata.com/t/math-operations-on-field-value-and-time/6323/4] and [this other one|https://community.influxdata.com/t/storing-additional-timestamp-type-information-as-a-field/6082/2].
            - Define the appropriate time precision for the SQuaSH database
            - The InlfuxDB schema is flat. It means that job metadata and environment metadata will be equally stored as InfluxDB tags.
            This ticket revisits the current SQuaSH InfluxDB data model as implemented in [DM-16300|https://jira.lsstcorp.org/browse/DM-16300], summarizes ongoing changes and converge to a final proposal.

            The mapping between {{lsst.verify}} concepts to InfluxDB concepts:

            - {{lsst.verify}} package -> InfluxDB measurement
            - {{lsst.verify}} metadata -> InfluxDB tag
            - {{lsst.verify}} metric value - > InfluxDB field
            - Jenkins pipeline runtime -> InfluxDB timestamp

            Comments:

            - It is not possible to combine metric values (i.e. do math operations with metric values) that are in different measurements.
            - It seems more appropriate to add metadata like {{ci_id}} and {{squash_id}} as InfluxDB fields and not tags
            - It seems useful to have the timestamp as an InfluxDB field as well because it is not possible to do math with timestamps in InfluxDB. See [this InfluxDB community post|https://community.influxdata.com/t/math-operations-on-field-value-and-time/6323/4] and [this other one|https://community.influxdata.com/t/storing-additional-timestamp-type-information-as-a-field/6082/2].
            - Define the appropriate time precision for the SQuaSH database
            - The InlfuxDB schema is flat. It means that job metadata and environment metadata will be equally stored as InfluxDB tags.
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18058 [ DM-18058 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-17049 [ DM-17049 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-17767 [ DM-17767 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-18060 [ DM-18060 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-16775 [ DM-16775 ]
            afausti Angelo Fausti made changes -
            Link This issue is parent task of DM-18061 [ DM-18061 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-17049 [ DM-17049 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-17767 [ DM-17767 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18060 [ DM-18060 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18061 [ DM-18061 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-16775 [ DM-16775 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18342 [ DM-18342 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18343 [ DM-18343 ]
            afausti Angelo Fausti made changes -
            Description This ticket revisits the current SQuaSH InfluxDB data model as implemented in [DM-16300|https://jira.lsstcorp.org/browse/DM-16300], summarizes ongoing changes and converge to a final proposal.

            The mapping between {{lsst.verify}} concepts to InfluxDB concepts:

            - {{lsst.verify}} package -> InfluxDB measurement
            - {{lsst.verify}} metadata -> InfluxDB tag
            - {{lsst.verify}} metric value - > InfluxDB field
            - Jenkins pipeline runtime -> InfluxDB timestamp

            Comments:

            - It is not possible to combine metric values (i.e. do math operations with metric values) that are in different measurements.
            - It seems more appropriate to add metadata like {{ci_id}} and {{squash_id}} as InfluxDB fields and not tags
            - It seems useful to have the timestamp as an InfluxDB field as well because it is not possible to do math with timestamps in InfluxDB. See [this InfluxDB community post|https://community.influxdata.com/t/math-operations-on-field-value-and-time/6323/4] and [this other one|https://community.influxdata.com/t/storing-additional-timestamp-type-information-as-a-field/6082/2].
            - Define the appropriate time precision for the SQuaSH database
            - The InlfuxDB schema is flat. It means that job metadata and environment metadata will be equally stored as InfluxDB tags.
            This ticket revisits the current SQuaSH InfluxDB data model as implemented in [DM-16300|https://jira.lsstcorp.org/browse/DM-16300], summarizes ongoing changes and converge to a final proposal.

            The mapping between {{lsst.verify}} concepts to InfluxDB concepts:

            - {{lsst.verify}} package -> InfluxDB measurement
            - {{lsst.verify}} metadata -> InfluxDB tag
            - {{lsst.verify}} metric value - > InfluxDB field
            - Jenkins pipeline runtime -> InfluxDB timestamp

            Comments:

            - It is not possible to combine metric values (i.e. do math operations with metric values) that are in different measurements.
            - It seems more appropriate to add metadata like {{ci_id}} and {{squash_id}} as InfluxDB fields and not tags
            - It seems useful to have the timestamp as an InfluxDB field as well because it is not possible to do math with timestamps in InfluxDB. See [this InfluxDB community post|https://community.influxdata.com/t/math-operations-on-field-value-and-time/6323/4].
            - Define an appropriate time precision for the SQuaSH database in InfluxDB
            - The InlfuxDB schema is flat. It means that job metadata and environment metadata will be equally stored as InfluxDB tags.
            - Different execution environments (CI, LDF) can store metadata in SQuaSH preserving the original keys. At InfluxDB we can have a common data model so that we present an unified view of the different execution environment to the users (e.g {{ci_id}} and {run_id}} mapped to {{run_id}}).
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18399 [ DM-18399 ]
            afausti Angelo Fausti made changes -
            Component/s squash [ 14169 ]
            afausti Angelo Fausti made changes -
            Link This issue blocks DM-16942 [ DM-16942 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18599 [ DM-18599 ]
            afausti Angelo Fausti made changes -
            Epic Link DM-16744 [ 235432 ] DM-5504 [ 23337 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18060 [ DM-18060 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18060 [ DM-18060 ]
            afausti Angelo Fausti made changes -
            Epic Link DM-5504 [ 23337 ] DM-17034 [ 238527 ]
            afausti Angelo Fausti made changes -
            Status In Progress [ 3 ] To Do [ 10001 ]
            afausti Angelo Fausti made changes -
            Epic Link DM-17034 [ 238527 ] DM-25252 [ 435595 ]
            afausti Angelo Fausti made changes -
            Epic Link DM-25252 [ 435595 ] DM-5504 [ 23337 ]
            afausti Angelo Fausti made changes -
            Link This issue relates to DM-18706 [ DM-18706 ]
            afausti Angelo Fausti made changes -
            Epic Link DM-5504 [ 23337 ] DM-27052 [ 440310 ]
            afausti Angelo Fausti made changes -
            Status To Do [ 10001 ] In Progress [ 3 ]
            afausti Angelo Fausti made changes -
            Story Points 1.4
            Urgent? off
            Hide
            afausti Angelo Fausti added a comment - - edited

            The SQuaSH InfluxDB data model was re-implemented in DM-18706. DM-27074 updates the notebook that demonstrates how the data model is constructed. We still need to update SQR-009 to reflect the recent changes.

            Show
            afausti Angelo Fausti added a comment - - edited The SQuaSH InfluxDB data model was re-implemented in DM-18706 . DM-27074 updates the notebook that demonstrates how the data model is constructed. We still need to update SQR-009 to reflect the recent changes.
            Hide
            afausti Angelo Fausti added a comment -

            SQR-009 text was reviewed. See PR #3

            Show
            afausti Angelo Fausti added a comment - SQR-009 text was reviewed. See PR #3
            afausti Angelo Fausti made changes -
            Resolution Done [ 10000 ]
            Status In Progress [ 3 ] Done [ 10002 ]

              People

              Assignee:
              afausti Angelo Fausti
              Reporter:
              afausti Angelo Fausti
              Watchers:
              Angelo Fausti, Krzysztof Findeisen, Simon Krughoff, Yusra AlSayyad
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.