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

NR-347971 | OpenLineage event consumer writer #1887

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
e5ee948
OLIN agent collection
devendra-nr Jan 21, 2025
234692f
Create DPO collections
devendra-nr Jan 21, 2025
03ad233
NR-347971 OLIN agent collection
devendra-nr Jan 21, 2025
8cf86d2
NR-347971 | Added identifiers and tags
devendra-nr Jan 30, 2025
9680c79
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Jan 30, 2025
19db55c
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 2, 2025
b872e62
NR=347971 Update name as per OLIN spec
devendra-nr Feb 2, 2025
d654b44
NR-347971 Revert file change
devendra-nr Feb 2, 2025
744128d
NR-347971 | Use unique tag names
devendra-nr Feb 6, 2025
addf09f
Merge branch 'newrelic:main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 6, 2025
2ed1250
NR-347971 | Added conditions
devendra-nr Feb 7, 2025
a2677a6
NR-347971 | Added conditions
devendra-nr Feb 7, 2025
ca95fe5
Merge branch 'newrelic:main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 11, 2025
9dbe0dc
NR-347871 | Remove redundant line
devendra-nr Feb 12, 2025
16814aa
Merge pull request #2 from devendra-nr/NR-347971-add-condition
devendra-nr Feb 12, 2025
ca9750d
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 13, 2025
1197390
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 13, 2025
fc6f648
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 17, 2025
ed516e4
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 17, 2025
f69d9b6
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 18, 2025
5caa6c4
Added test case
devendra-nr Feb 18, 2025
a2624f2
Added more entity conditions
devendra-nr Feb 18, 2025
fba7ca4
Update test data
devendra-nr Feb 18, 2025
a3f0e5d
Merge branch 'main' into NR-347971-add-condition
devendra-nr Feb 18, 2025
1e6be59
Added entity type to test data
devendra-nr Feb 18, 2025
97b0286
Merge branch 'NR-347971-add-condition' of https://github.com/devendra…
devendra-nr Feb 18, 2025
e081da9
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 18, 2025
6f28171
Merge branch 'NR-347971-OLIN-event-consumer-writer' into NR-347971-ad…
devendra-nr Feb 18, 2025
56e12c8
Merge pull request #4 from devendra-nr/NR-347971-add-condition
devendra-nr Feb 18, 2025
e269c47
Update testcase
devendra-nr Feb 18, 2025
03640a6
Merge branch 'NR-347971-add-condition' of https://github.com/devendra…
devendra-nr Feb 18, 2025
0f2b23a
Merge pull request #5 from devendra-nr/NR-347971-add-condition
devendra-nr Feb 18, 2025
2604e18
Update test
devendra-nr Feb 18, 2025
910ded8
Merge pull request #6 from devendra-nr/NR-347971-add-condition
devendra-nr Feb 18, 2025
07cebf9
Update type
devendra-nr Feb 21, 2025
b83e0a2
Merge pull request #7 from devendra-nr/NR-347971-add-condition
devendra-nr Feb 21, 2025
644b20a
Update type
devendra-nr Feb 21, 2025
ad540bc
Merge pull request #8 from devendra-nr/NR-347971-add-condition
devendra-nr Feb 21, 2025
55a3573
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 21, 2025
cc70a51
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 27, 2025
e61ef7a
NR-347971 add filter condition
devendra-nr Feb 28, 2025
ed311d1
NR-347971 add filter condition
devendra-nr Feb 28, 2025
2dbc3d2
Merge pull request #9 from devendra-nr/NR-347971-add-condition
devendra-nr Feb 28, 2025
c9bdc56
Merge branch 'main' into NR-347971-OLIN-event-consumer-writer
devendra-nr Feb 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions entity-types/agent-olin/definition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
domain: AGENT
type: OLIN
configuration:
entityExpirationTime: MANUAL
alertable: false
40 changes: 40 additions & 0 deletions entity-types/dpo-olin_dataset_versions/definition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
domain: DPO
type: OLIN_DATASET_VERSIONS
synthesis:
rules:
- compositeIdentifier:
separator: ":"
attributes:
- dataset.namespace
- dataset.name
- updatedAt
name: dataset.name
encodeIdentifierInGUID: true
conditions:
- attribute: newrelic.entity.type
value: DPO
- attribute: eventTime
present: true
- attribute: updatedAt
present: true
- attribute: producer
present: true
- attribute: schemaURL
present: true
- attribute: dataset.namespace
present: true
- attribute: dataset.name
present: true
tags:
dataset.namespace:
entityTagName: olin.dataset.namespace
multiValue: false
dataset.name:
entityTagName: olin.dataset.name
multiValue: false
dataset.updatedAt:
entityTagName: olin.dataset.updatedAt
multiValue: false
configuration:
entityExpirationTime: MANUAL
alertable: true
11 changes: 11 additions & 0 deletions entity-types/dpo-olin_dataset_versions/tests/datasetversions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[
{
"newrelic.entity.type": "DPO",
"eventTime": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
"schemaURL": "https://openlineage.io/spec/0-0-1/OpenLineage.json",
"dataset.namespace": "my-datasource-namespace",
"dataset.name": "instance.schema.table"
}
]
36 changes: 36 additions & 0 deletions entity-types/dpo-olin_datasets/definition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
domain: DPO
type: OLIN_DATASETS
synthesis:
rules:
- compositeIdentifier:
separator: ":"
attributes:
- dataset.namespace
- dataset.name
name: dataset.name
encodeIdentifierInGUID: true
conditions:
- attribute: newrelic.entity.type
value: DPO
- attribute: eventTime
present: true
- attribute: updatedAt
present: false
- attribute: producer
present: true
- attribute: schemaURL
present: true
- attribute: dataset.namespace
present: true
- attribute: dataset.name
present: true
tags:
dataset.namespace:
entityTagName: olin.dataset.namespace
multiValue: false
dataset.name:
entityTagName: olin.dataset.name
multiValue: false
configuration:
entityExpirationTime: MANUAL
alertable: true
10 changes: 10 additions & 0 deletions entity-types/dpo-olin_datasets/tests/datasets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[
{
"newrelic.entity.type": "DPO",
"eventTime": "2019-08-24T14:15:22Z",
"producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
"schemaURL": "https://openlineage.io/spec/0-0-1/OpenLineage.json",
"dataset.namespace": "my-datasource-namespace",
"dataset.name": "instance.schema.table"
}
]
43 changes: 43 additions & 0 deletions entity-types/dpo-olin_job_versions/definition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
domain: DPO
type: OLIN_JOB_VERSIONS
synthesis:
rules:
- compositeIdentifier:
separator: ":"
attributes:
- job.namespace
- job.name
- updatedAt
name: job.name
encodeIdentifierInGUID: true
conditions:
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks like the conditions for this definition are the same ones than for OLIN_JOBS. The conditions should have some differentiation to avoid collisions

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have added following condition to differentiate between events since the updatedAt field should be present only in OLIN_JOB_VERSIONS. Is this sufficient?

#OLIN_JOBS
 - attribute: updatedAt
    present: false
      
#OLIN_JOB_VERSIONS
  - attribute: updatedAt
     present: true

I have written similar conditions for OLIN_DATASETS vs OLIN_DATASET_VERSIONS

- attribute: newrelic.entity.type
value: DPO
- attribute: eventTime
present: true
- attribute: updatedAt
present: true
- attribute: producer
present: true
- attribute: schemaURL
present: true
- attribute: job.namespace
present: true
- attribute: job.name
present: true
tags:
job.namespace:
entityTagName: olin.job.namespace
multiValue: false
job.name:
entityTagName: olin.job.name
multiValue: false
job.updatedAt:
entityTagName: olin.job.updatedAt
multiValue: false
pipeline.name:
entityTagName: olin.pipeline.name
multiValue: false
configuration:
entityExpirationTime: MANUAL
alertable: true
10 changes: 10 additions & 0 deletions entity-types/dpo-olin_job_versions/tests/jobversions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[
{
"newrelic.entity.type": "DPO",
"eventTime": "2019-08-24T14:15:22Z",
"producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
"schemaURL": "https://openlineage.io/spec/0-0-1/OpenLineage.json",
"job.namespace": "my-datasource-namespace",
"job.name": "myjob.mytask"
}
]
40 changes: 40 additions & 0 deletions entity-types/dpo-olin_jobs/definition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
domain: DPO
type: OLIN_JOBS
synthesis:
rules:
- compositeIdentifier:
separator: ":"
attributes:
- job.namespace
- job.name
- eventTime
name: job.name
encodeIdentifierInGUID: true
conditions:
- attribute: newrelic.entity.type
value: DPO
- attribute: eventTime
present: true
- attribute: updatedAt
present: false
- attribute: producer
present: true
- attribute: schemaURL
present: true
- attribute: job.namespace
present: true
- attribute: job.name
present: true
tags:
job.namespace:
entityTagName: olin.job.namespace
multiValue: false
job.name:
entityTagName: olin.job.name
multiValue: false
pipeline.name:
entityTagName: olin.pipeline.name
multiValue: false
configuration:
entityExpirationTime: MANUAL
alertable: true
11 changes: 11 additions & 0 deletions entity-types/dpo-olin_jobs/tests/jobs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[
{
"newrelic.entity.type": "DPO",
"eventTime": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
"schemaURL": "https://openlineage.io/spec/0-0-1/OpenLineage.json",
"job.namespace": "my-datasource-namespace",
"job.name": "myjob.mytask"
}
]
28 changes: 28 additions & 0 deletions entity-types/dpo-olin_pipelines/definition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
domain: DPO
type: OLIN_PIPELINES
synthesis:
rules:
- compositeIdentifier:
separator: ":"
attributes:
- pipeline.namespace
- pipeline.name
name: pipeline.name
encodeIdentifierInGUID: true
conditions:
- attribute: newrelic.entity.type
value: DPO
- attribute: pipeline.name
present: true
- attribute: pipeline.namespace
present: true
tags:
pipeline.namespace:
entityTagName: olin.pipeline.namespace
multiValue: false
pipeline.name:
entityTagName: olin.pipeline.name
multiValue: false
configuration:
entityExpirationTime: MANUAL
alertable: true
8 changes: 8 additions & 0 deletions entity-types/dpo-olin_pipelines/tests/pipelines.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[
{
"newrelic.entity.type": "DPO",
"eventTime": "2019-08-24T14:15:22Z",
"pipeline.namespace": "my-datasource-namespace",
"pipeline.name": "pipeline.instance1"
}
]