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

Support sso metrics & traces schema #1427

Merged
merged 228 commits into from
Feb 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
0b8c57e
removing add sample data test (#668)
ps48 Apr 19, 2022
aaeadb0
Fix change availability bug (#667)
eugenesk24 Apr 19, 2022
4ee5d2a
Fix test to check for empty event analytics (#669)
eugenesk24 Apr 19, 2022
f0afa84
Add release notes for 2.0.0-rc1 (#674)
joshuali925 Apr 20, 2022
79613cd
remove candlestick from visualizations (#690)
mrunal-z Apr 27, 2022
f3b6598
[OSD][Tests] add test subject to app title for app analytics (#686)
kavilla Apr 28, 2022
9ebb7d2
Support integTestRemote with security enabled endpoint (#699)
joshuali925 May 2, 2022
6b15239
Add data test subj to app analytics (#704)
eugenesk24 May 3, 2022
37df29f
integrate job-scheduler into observability (#609)
zhongnansu May 10, 2022
9c2a8fb
Add availability entry points (#731)
eugenesk24 May 11, 2022
291d17f
Update availabilityVizId if visualization is removed from panel (#732)
eugenesk24 May 11, 2022
40dff8b
Remove rc1 reference (#730)
eugenesk24 May 13, 2022
4e1bd11
Issue fix not a function error (#739)
mengweieric May 17, 2022
b23946d
Release notes 2.0.0.0 (#757)
vmmusings May 18, 2022
159fc21
Add availability help flyout (#734)
eugenesk24 May 25, 2022
9d16389
Make common delete modal for components (#766)
eugenesk24 May 26, 2022
2348ce9
Sync app and app list types (#763)
eugenesk24 May 26, 2022
7bdeec5
[WIP]: Cypress automation for Trace analytics dashboard application (…
pratibhapandey16 Jun 7, 2022
4fa6e82
Feature/error toast on invalid valueoption selection 666 (#736)
rinku-kumar-psl Jun 8, 2022
ec75f52
[Feature]: Treemap chart support in Event Analytics (#693)
mrunal-z Jun 9, 2022
1c09555
Uses custom plugin to publish zips to maven (#786)
joshuali925 Jun 14, 2022
ccee0d3
Cypress automation for Notebooks application (#809)
pratibhapandey16 Jun 16, 2022
10abff2
Feature/Pie chart legend, chart style, color theme and cypress test c…
deepaknevdepsl Jun 16, 2022
4a4c62a
[Feature]: Heatmap- Color theme implementation in config panel (#778)
ruchika-narang Jun 16, 2022
0c5dda9
[Enhancement]: Pie Config Panel features v1 (#816)
mrunal-z Jun 23, 2022
c81f5d2
[Enhancement]: TreeMap Config Panel features v1 (#814)
mrunal-z Jun 23, 2022
adec5c9
Bar chart: Legend, Chart styles, and Color Theme features implementat…
rinku-kumar-psl Jun 23, 2022
c136532
bump version to 2.1.0 and bump gradle to 7.4.2 (#817)
kavithacm Jun 23, 2022
bf81e35
2.1 release notes (#839)
kavithacm Jul 6, 2022
4bebc60
change 2.1 version bump PR under maintenance (#841)
kavithacm Jul 7, 2022
bf98d97
Sprint1 : combine PR for visualization from Sprint1 (#824)
abasatwar Jul 8, 2022
dd298c2
Bump moment from 2.29.2 to 2.29.4 in /dashboards-observability (#845)
dependabot[bot] Jul 19, 2022
1a95ba5
Sprint2 (#47) (#868)
abasatwar Jul 26, 2022
b5c6802
Staging for version increment automation (#848)
prudhvigodithi Jul 26, 2022
77c460f
Release Notes for 2.2.0 (#920)
vmmusings Aug 6, 2022
8503d0c
Sprint2 code refactoring and warning minimization (#904)
rinku-kumar-psl Aug 9, 2022
5a18297
Bump to 2.2.0 (#918) (#928)
opensearch-trigger-bot[bot] Aug 9, 2022
29a73c9
Sprint3 alpha (#64) (#931)
abasatwar Aug 10, 2022
7cbe5d8
[ENHANCEMENT]: Movement of temporary visualization panel data into us…
ruchika-narang Aug 11, 2022
3942d9f
cypress test case for horizontal bar (#935)
nidhisinghai Aug 22, 2022
44dfbf5
build error resolve (#923)
nidhisinghai Aug 22, 2022
e089315
[BUG] : Dimensions getting removed when no timeseries field is presen…
ruchika-narang Aug 22, 2022
3e5d26b
cypress test case for scatter chart (#930)
nidhisinghai Aug 22, 2022
d5745db
Bug/logs-view-data-config: Added Columns in Data Configuration for Lo…
shankha-das Aug 26, 2022
79197db
Feature/tooltip-section: Added tooltip options for various charts (#952)
shankha-das Aug 26, 2022
26d6762
resolved color theme issue (#960)
shankha-das Aug 26, 2022
e8edc0c
Renamed data panel to style (#964)
ruchika-narang Aug 26, 2022
2fae9b0
Query Manager (#915)
mengweieric Sep 7, 2022
5970b0e
Query manager integration (#987)
mengweieric Sep 7, 2022
d9f5846
Bug/color-theme-options: Resolved color theme issue #960 (#971)
ruchika-narang Sep 7, 2022
67e7b5e
cypress box plot (#983)
nidhisinghai Sep 7, 2022
d590d10
fix: reset fontSize on click of reset (#986)
SivaprasadAluri Sep 7, 2022
e755d2b
Cypress automation for Logs view (#995)
pratibhapandey16 Sep 7, 2022
25bd43b
release notes for 2.3.0 (#1003)
mengweieric Sep 9, 2022
06c4b30
Resolving conflicts after merge of antlr code (#1021)
ruchika-narang Sep 13, 2022
45406d6
tooltip for multiple traces: fixed (#1019)
ramneet-persistent Sep 13, 2022
b7da13c
Cypress automation for Pie chart (#1017)
pratibhapandey16 Sep 13, 2022
cbc66bb
fix#921-README-forum-link-observability (#999)
cwillum Sep 13, 2022
54d7b94
Update developer guide (#961)
joshuali925 Sep 13, 2022
a37542d
Cypress Automation for Stats Chart (#1016)
NamanChaturvedi13 Sep 13, 2022
a1490cc
Jest test cases (#985)
ramneet-persistent Sep 13, 2022
46b26c5
[Bug]: Date Histogram 2 way sync issue fix (#1033)
DipraAich Sep 17, 2022
e05fb74
[Feature]: Heatmap 2way sync (#1031)
DipraAich Sep 19, 2022
0a5d543
fixed backspace crashing UI issue (#1034)
vkushwah Sep 19, 2022
52f9168
[Feature]: Timeseries/Scatter 2 way sync (#1030)
ruchika-narang Sep 19, 2022
61ab8f6
Move qm to plugins #1023 (#1036)
ramneet-persistent Sep 20, 2022
18c642f
Pie chart 2way sync (#1029)
ramneet-persistent Sep 23, 2022
3ce8d87
[BUG]: Revert code for treemap and histogram. (#1037)
ruchika-narang Sep 26, 2022
08a8d82
Match core wizard design (#1044)
mengweieric Sep 27, 2022
dcf304c
Fixed crashes when user deletes Aggregation field (#1047)
Koustubh5585 Sep 29, 2022
0c617de
[FEATURE]: Breakdown added in Bar Chart (#1051)
ruchika-narang Sep 29, 2022
cad95f2
Fix scroll issue for fields (#1050)
ruchika-narang Sep 29, 2022
bdf5291
stats: auto chart added (#913)
ramneet-persistent Sep 29, 2022
640462f
table view with two way sync (#1022)
abasatwar Sep 30, 2022
e9ff79a
[Bug]: Data Configuration panel for Logs view remains disabled. (#1057)
saisanju-s Sep 30, 2022
d92a94b
update jackson to 2.13.4 (#1062)
kavithacm Oct 3, 2022
1f605e2
[FEATURE]: Updated data configuration UI and Two way sync for Custom …
harshada8989 Oct 5, 2022
b602ad5
Gauge 2way sync (#1048)
abhaypersistent Oct 6, 2022
c7f8096
Bug Fixed: Visualization height panel issue for all charts (#1075)
Koustubh5585 Oct 6, 2022
1c9c4f5
Updated breakdowns with updated UI of configuration panel (#1077)
ruchika-narang Oct 6, 2022
0eaf0df
[Feature] - stats horizontal chart (#1073)
ramneet-persistent Oct 10, 2022
8e6c6ce
chore: fix line reference (#1078)
derek-ho Oct 10, 2022
9ed7e5a
[FEATURE] : Horizontal bar chart 2way sync (#1094)
DipraAich Oct 11, 2022
cdf6aae
[BUG]: If all Series and Dimensions are removed from a query and Refr…
DipraAich Oct 12, 2022
a7c8141
[Bug] different default values fixed (#1111)
ramneet-persistent Oct 12, 2022
8e22c12
fixed selected visualization name (#1112)
vkushwah Oct 12, 2022
da93f4b
Time series/scatter bugs fixed (#1113)
ramneet-persistent Oct 12, 2022
f222499
add group = org.opensearch.plugin (#1115)
prudhvigodithi Oct 13, 2022
2446d71
[Bug] Distorted visualization title (#1119)
ramneet-persistent Oct 13, 2022
2989fe7
border color : fixed (#1120)
ramneet-persistent Oct 13, 2022
249ab50
Bug/range slider issue (#1122)
abhaypersistent Oct 13, 2022
459289c
Destructured visMetaData and dataConfig Objects in all visualizations…
Koustubh5585 Oct 14, 2022
635614c
[Feature]: Move Date histogram to dimensions (#1146)
harshada8989 Oct 17, 2022
17d240a
[Feature] Renamed stats as metrics (#1142)
ramneet-persistent Oct 17, 2022
f104d93
Bug/chart selection scroll issue (#1152)
abhaypersistent Oct 18, 2022
7930865
fixed overlap text resize issue (#1151)
vkushwah Oct 18, 2022
363ccd4
feat: enable windows and macos builds (#1108)
derek-ho Oct 20, 2022
7ad9027
updated workflows and version to 3.0.0 (#905)
ps48 Oct 20, 2022
a3955ef
fix not a function issue (#1160)
mengweieric Oct 20, 2022
d8f356a
[BUG] : Labels on y axis get truncated (#1169)
SivaprasadAluri Oct 21, 2022
e486d06
X-button Bug Fix (#1140)
Anand6Kumar Oct 21, 2022
8e055ec
[BUG]: Unable to save Heatmap Visualization and Query (#1143)
ruchika-narang Oct 21, 2022
af3b3d3
[Bug] performance improvement (#1176)
ramneet-persistent Oct 21, 2022
a282bc9
[BUG]: Fixed Vertical & Horizontal Bar visualization issues (#1156)
Koustubh5585 Oct 22, 2022
edbc7cb
[BUG]: Visualizations not appearing in Operational Panels fixed (#1170)
SivaprasadAluri Oct 24, 2022
e0a3052
Change auto expand replicas to 0-2 (#1186)
joshuali925 Oct 26, 2022
f9ee36d
Visualization breakdowns (#1201)
mengweieric Nov 1, 2022
a0b02a5
[BUG]: Fixed Consolidated UI issues (#1173)
Amit-Nawale Nov 2, 2022
a26f31b
[Feature] Move series side config from data config panel to chart sty…
ramneet-persistent Nov 2, 2022
ceac84d
Persist redux state in browser (#1178)
mengweieric Nov 2, 2022
eef1979
Release notes for 2.4.0 (#1259)
rupal-bq Nov 4, 2022
45b89ab
Add Rupal, Derek, Lior as maintainers (#1245)
joshuali925 Nov 4, 2022
e24b858
Add pjfitzgibbon to MAINTAINERS.md (#1270)
pjfitzgibbons Nov 14, 2022
4b2d94b
[BACKPORT] Backport 2.x to main (#1304)
mengweieric Dec 12, 2022
18b398f
Adding release notes for 2.4.1 (#1343) (#1345)
opensearch-trigger-bot[bot] Dec 13, 2022
04c5f06
Removing explicit jackson dependencies (#1374)
ps48 Jan 10, 2023
295af54
Revert "Removing explicit jackson dependencies (#1374)" (#1379)
ryanbogan Jan 11, 2023
b9ef841
[BACKPORT MAIN] remove front end workflow and code (#1362) (#1386)
derek-ho Jan 18, 2023
bc1e65d
Updated MAINTAINERS.md to match recommended opensearch-project format…
dblock Jan 19, 2023
c24f2ef
finish cleanup (#1390)
derek-ho Jan 25, 2023
326faeb
Add Traces schema support for SSO which is OTEL compliant
YANG-DB Jan 28, 2023
5d93e67
add basic trace samples
YANG-DB Jan 28, 2023
3009d69
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Jan 28, 2023
7636ac5
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Jan 28, 2023
95a081a
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Jan 28, 2023
b0e20e0
add support for data-flow structure as part of the general span attri…
YANG-DB Jan 28, 2023
6770d98
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Jan 31, 2023
cfcd2cb
add support for Metrics types in Simple Schema for Observability (OTE…
YANG-DB Feb 1, 2023
4cd0d81
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Jan 31, 2023
a8042aa
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 1, 2023
38a8d88
add support for Metrics types in Simple Schema for Observability (OTE…
YANG-DB Feb 1, 2023
8872130
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 1, 2023
7783f4a
add samples for the schema validation
YANG-DB Feb 1, 2023
2c3c623
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 1, 2023
e193ef5
fix histogram.json sample
YANG-DB Feb 1, 2023
8806dd2
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 2, 2023
7551dac
add overview description
YANG-DB Feb 1, 2023
67dc129
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 2, 2023
9fe5828
add exemplar & instrumentationScope
YANG-DB Feb 2, 2023
a8163e2
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 2, 2023
041ffe8
add dropped attribute count for instrumentation scope
YANG-DB Feb 2, 2023
fe27416
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 3, 2023
e774a24
add dropped attribute count for instrumentation scope
YANG-DB Feb 2, 2023
8a2de9a
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 3, 2023
1d67f61
add dropped attribute count for instrumentation scope
YANG-DB Feb 3, 2023
c82c14a
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 3, 2023
833e19f
add schemaUrl support for the outer most level
YANG-DB Feb 3, 2023
2cbe27c
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 3, 2023
dca4f21
add schemaUrl support for the outer most level
YANG-DB Feb 3, 2023
6babfa7
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 3, 2023
436ab33
add template section for mapping document
YANG-DB Feb 3, 2023
23c0cf5
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 7, 2023
09a09d9
add template section for mapping document
YANG-DB Feb 3, 2023
5027d46
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 7, 2023
24aead1
change time to @timestamp
YANG-DB Feb 7, 2023
cd9775b
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 7, 2023
e7199a1
change time to @timestamp
YANG-DB Feb 7, 2023
80b5690
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 7, 2023
9e58033
rename resources to resource
YANG-DB Feb 7, 2023
55b8a6e
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 7, 2023
3e52a82
rename resources to resource
YANG-DB Feb 7, 2023
d3ea022
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 7, 2023
9ca1928
remove guava (#1402)
derek-ho Feb 8, 2023
1514a77
add specific info and support for data-stream API
YANG-DB Feb 8, 2023
41e688e
add specific info and support for data-stream API
YANG-DB Feb 8, 2023
56d76dc
add specific info and support for data-stream API
YANG-DB Feb 8, 2023
c552cf1
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 8, 2023
08d99f8
add specific info and support for data-stream API
YANG-DB Feb 8, 2023
8e8191d
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 8, 2023
0fa5808
add `instrumentationScope.attributes.identification` for explicitly i…
YANG-DB Feb 8, 2023
1eef6f9
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 8, 2023
2d2e10a
add `instrumentationScope.attributes.identification` for explicitly i…
YANG-DB Feb 8, 2023
ed86cac
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 8, 2023
11945dd
add support for observedTimestamp
YANG-DB Feb 8, 2023
63e186a
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 9, 2023
dd9df78
add support for observedTimestamp
YANG-DB Feb 9, 2023
d0d842f
add creation of metrics.mapping template & default data-stream indice…
YANG-DB Feb 10, 2023
62903bd
Merge remote-tracking branch 'origin/main' into Support-OTEL-Metrics-…
YANG-DB Feb 10, 2023
bd76420
add lifeCycle component for the Plugin support eager actions once clu…
YANG-DB Feb 10, 2023
515d6e2
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 10, 2023
818dec1
move IT test under the REST section
YANG-DB Feb 10, 2023
bfe925c
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 11, 2023
fffe526
add ClusterPlugin interface for notification of readiness for index a…
YANG-DB Feb 11, 2023
5f5d41a
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 13, 2023
8bdb55b
fix tests and update @After IT cleanUp phase
YANG-DB Feb 13, 2023
5a2947e
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 14, 2023
f593ecf
update document with context
YANG-DB Feb 14, 2023
f8d4caf
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 14, 2023
8072b27
add additional context with reference for RFC
YANG-DB Feb 14, 2023
8b0f996
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 14, 2023
15edfac
remove auto creation of default index
YANG-DB Feb 14, 2023
da8b916
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 15, 2023
f98ad79
add README.md for the schema folder
YANG-DB Feb 15, 2023
e54587b
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 16, 2023
442519d
fix readme.md index naming references
YANG-DB Feb 16, 2023
84d499d
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 16, 2023
03e1845
update according to PR comments
YANG-DB Feb 16, 2023
824c809
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 16, 2023
83e5e74
update according to PR comments
YANG-DB Feb 16, 2023
e09ddf5
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 16, 2023
15921be
update comments
YANG-DB Feb 16, 2023
f9a722a
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 16, 2023
8f8bb8b
update comments
YANG-DB Feb 9, 2023
27e8d8d
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 17, 2023
83181a8
updating detekt to 1.22.0 (#1415)
ps48 Feb 20, 2023
051d573
remove default data_stream related things
YANG-DB Feb 16, 2023
392892f
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 21, 2023
0554e11
fix documentation related default references
YANG-DB Feb 21, 2023
f1ff9c2
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 21, 2023
3c62f87
fix documentation related default references
YANG-DB Feb 17, 2023
fe00ceb
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 21, 2023
37adfc4
Merge branch 'opensearch-project:main' into Support-OTEL-Trace-mapping
YANG-DB Feb 21, 2023
943322d
add relevant template on load functionality
YANG-DB Feb 21, 2023
8c17762
Merge remote-tracking branch 'origin/Support-OTEL-Trace-mapping' into…
YANG-DB Feb 21, 2023
298bf9f
Add publish snapshots to maven via GHA (#1417)
rupal-bq Feb 21, 2023
9044213
fix linting issues
YANG-DB Feb 21, 2023
3ac00f5
Merge remote-tracking branch 'origin/Support-OTEL-Metrics-mapping' in…
YANG-DB Feb 21, 2023
803b0ac
Merge remote-tracking branch 'upstream/2.6' into 2.6
YANG-DB Feb 22, 2023
a4752c0
Merge branch 'Support-OTEL-Metrics-mapping' into Support_SSO_Metrics_…
YANG-DB Feb 22, 2023
0332948
Merge branch 'Support-OTEL-Trace-mapping' into Support_SSO_Metrics_Ta…
YANG-DB Feb 22, 2023
ea64a5a
introduce the SSO metrics & traces schema into observability
YANG-DB Feb 22, 2023
8a21ecf
introduce the SSO metrics & traces schema into observability
YANG-DB Feb 22, 2023
76a5e84
Merge remote-tracking branch 'origin/Support_SSO_Metrics_Taces_schema…
YANG-DB Feb 22, 2023
abbf633
add load-samples instruction doc
YANG-DB Feb 22, 2023
a4e0032
Merge remote-tracking branch 'origin/Support_SSO_Metrics_Taces_schema…
YANG-DB Feb 22, 2023
6457d0b
Merge remote-tracking branch 'upstream/2.6' into Support_SSO_Metrics_…
YANG-DB Feb 22, 2023
d361089
update release notes with PR https://github.com/opensearch-project/ob…
YANG-DB Feb 22, 2023
f211495
Merge remote-tracking branch 'origin/Support_SSO_Metrics_Taces_schema…
YANG-DB Feb 22, 2023
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
27 changes: 17 additions & 10 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
# Observability Maintainers
## Overview

## Maintainers
| Maintainer | GitHub ID | Affiliation |
|---------------|-------------------------------------------------|-------------|
| David Cui | [davidcui1225](https://github.com/davidcui1225) | Amazon |
| Eric Wei | [mengweieric](https://github.com/mengweieric) | Amazon |
| Joshua Li | [joshuali925](https://github.com/joshuali925) | Amazon |
| Shenoy Pratik | [ps48](https://github.com/ps48) | Amazon |
| Kavitha Mohan | [kavithacm] (https://github.com/kavithacm) | Amazon |
| Eugene Lee | [eugenesk24] (https://github.com/eugenesk24) | Amazon |
This document contains a list of maintainers in this repo. See [opensearch-project/.github/RESPONSIBILITIES.md](https://github.com/opensearch-project/.github/blob/main/RESPONSIBILITIES.md#maintainer-responsibilities) that explains what the role of maintainer means, what maintainers do in this and other repos, and how they should be doing it. If you're interested in contributing, and becoming a maintainer, see [CONTRIBUTING](CONTRIBUTING.md).

## Current Maintainers

| Maintainer | GitHub ID | Affiliation |
| ----------------- | ------------------------------------------------- | ----------- |
| David Cui | [davidcui1225](https://github.com/davidcui1225) | Amazon |
| Eric Wei | [mengweieric](https://github.com/mengweieric) | Amazon |
| Joshua Li | [joshuali925](https://github.com/joshuali925) | Amazon |
| Shenoy Pratik | [ps48](https://github.com/ps48) | Amazon |
| Kavitha Mohan | [kavithacm](https://github.com/kavithacm) | Amazon |
| Eugene Lee | [eugenesk24](https://github.com/eugenesk24) | Amazon |
| Rupal Mahajan | [rupal-bq](https://github.com/rupal-bq) | Amazon |
| Derek Ho | [derek-ho](https://github.com/derek-ho) | Amazon |
| Lior Perry | [YANG-DB](https://github.com/YANG-DB) | Amazon |
| Peter Fitzgibbons | [pjfitzgibbons](https://github.com/pjfitzgibbons) | Amazon |
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Compatible with OpenSearch and OpenSearch Dashboards Version 2.6.0
### Infrastructure

- Add publish snapshots to maven via GHA ([#1423](https://github.com/opensearch-project/observability/pull/1423))

- Add support for structured Metrics & Traces index using Simple Schema for Observability ([#1427](https://github.com/opensearch-project/observability/pull/1427))

### Maintenance

Expand Down
104 changes: 104 additions & 0 deletions schema/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Simple Schema for Observability

## Background
Observability is the ability to measure a system’s current state based on the data it generates, such as logs, metrics, and traces. Observability relies on telemetry derived from instrumentation that comes from the endpoints and services.

Observability telemetry signals (logs, metrics, traces) arriving from the system would contain all the necessary information needed to observe and monitor.

Modern application can have a complicated distributed architecture that combines cloud native and microservices layers. Each layer produces telemetry signals that may have different structure and information.

Using Simple Schema's Observability telemetry schema we can organize, correlate and investigate system behavior in a standard and well-defined manner.

Observability telemetry schema defines the following components - **logs, traces and metrics**.

**Logs** provide comprehensive system details, such as a fault and the specific time when the fault occurred. By analyzing the logs, one can troubleshoot code and identify where and why the error occurred.

**Traces** represent the entire journey of a request or action as it moves through all the layers of a distributed system. Traces allow you to profile and observe systems, especially containerized applications, serverless architectures, or microservices architecture.

**Metrics** provide a numerical representation of data that can be used to determine a service or component’s overall behaviour over time.


In many occasions, correlation between the logs, traces and metrics is mandatory to be able to monitor and understand how the system is behaving. In addition, the distributed nature of the application produces multiple formats of telemetry signals arriving from different components ( network router, web server, database)

For such correlation to be possible the industry has formulated several protocols ([OTEL](https://github.com/open-telemetry), [ECS](https://github.com/elastic/ecs), [OpenMetrics](https://github.com/OpenObservability/OpenMetrics)) for communicating these signals - the Observability schemas.

---
## Schema Aware Components

The role of the Observability plugin is intended to allow maximum flexibility and not imposing a strict Index structure of the data source. Nevertheless, the modern nature of distributed application and the vast amount of telemetry producers is changing this perception.

Today many of the Observability solutions (splunk, datadog, dynatrace) recommend using a consolidated schema to represent the entire variance of log/trace/metrics producers.

This allows monitoring, incidents investigation and corrections process to become simpler, maintainable and reproducible.


A Schema-Aware visualization component is a component which assumes the existence of specific index/indices name patterns and expects these indices to have a specific structure - a schema.

As an example we can see that **Trace-Analytics** is a schema-aware visual component since it directly assumes the traces & serviceMap indices exist and expects them to follow a specific structure.

This definition doesn’t change the existing status of visualization components which are not “Schema Aware” but it only regulates which Visual components would benefit using a schema and which will be agnostic of its content.

Operation Panel for example, are not “Schema Aware” since they don’t assume in advanced the existence of a specific index nor do they expect the index they display to have a specific structure.

## Data Model

Simple Schema for Observability allows ingestion of both (OTEL/ECS) formats and internally consolidate them to best of its capabilities for presenting a unified Observability platform.

## Observability index naming

The Observability indices would follow the recommended for immutable data stream ingestion pattern using the [data_stream concepts](https://opensearch.org/docs/latest/opensearch/data-streams/)

Index pattern will follow the next naming template `sso_{type}`-`{dataset}`-`{namespace}`

- **type** - indicated the observability high level types "logs", "metrics", "traces" (prefixed by the `sso_` schema convention )
- **dataset** - The field can contain anything that classify the source of the data - such as `nginx.access`
- **namespace** - A user defined namespace - mainly useful to allow grouping of data such as production grade, geography classification

This strategy allows two degrees of naming freedom: dataset and namespace. For example a customer may want to route the nginx logs from two geographical areas into two different indices:

- `sso_logs-nginx-us`
- `sso_logs-nginx-eu`

This type of distinction also allows for creation of crosscutting queries by setting the next index query pattern `sso_logs-nginx-*` or by using a geographic based crosscutting query `sso_logs-*-eu`.

## Data index routing

The [ingestion component](https://github.com/opensearch-project/data-prepper) which is responsible for ingesting the Observability signals is responsible to route the data into the relevant indices.

The `sso_{type}-{dataset}-{namespace}` combination dictates the target index, `{type}` is prefixed with the `sso_` prefix into one of the supported type:

- Traces - `sso_traces`
- Metrics - `sso_metrics`
- Logs - `sso_logs`

For example if within the ingested log contains the following section:
```json
{
...
"attributes": {
"data_stream": {
"type": "span",
"dataset": "mysql",
"namespace": "prod"
}
}
}
```
This indicates that the target index for this observability signal should be `sso_traces`-`mysql`-`prod` index that follows uses the traces schema mapping.

## Observability Index templates

With the expectation of multiple Observability data providers and the need to consolidate all to a single common schema - the Observability plugin will take the following responsibilities :

- Define and create all the signals **index templates** upon loading
- Publish a versioned schema file (Json Schema) for each signal type for general validation usage by any 3rd party

## Observability Ingestion pipeline
The responsibility on an **Observability-ingestion-pipeline** is to create the actual `data_stream` in which it is expecting to ingest into.

This `data_stream` will use one of the Observability ready-made index templates (Metrics,Traces and Logs) and conform with the above naming pattern (`sso_{type}`-`{dataset}`-`{namespace}`)

**If the ingesting party has a need to update the template default index setting (shards, replicas ) it may do so before the actual creation of the data_stream.**

### Note
It is important to mention that these new capabilities would not change or prevent existing customer usage of the system and continue to allow proprietary usage.
105 changes: 105 additions & 0 deletions schema/metrics/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Metrics Schema Support

Observability refers to the ability to monitor and diagnose systems and applications in real-time, in order to understand how they are behaving and identify potential issues.
Metrics present a critical component of observability, providing quantifiable data about the performance and behavior of systems and applications.
The importance of supporting metrics structured schema lies in the fact that it enables better analysis and understanding of system behavior.

A structured schema provides a clear, consistent format, making it easier for observability tools to process and aggregate the data.
This in turn makes it easier for engineers to understand the performance and behavior of their systems, and quickly identify potential issues.

When metrics are unstructured, it can be difficult for observability tools to extract meaningful information from them.
For example, if the data for a particular metric is not consistently recorded in the same format, it can be difficult to compare and analyze performance data over time.
Similarly, if metrics are not consistently named or categorized, it can be difficult to understand their context and significance.

With a structured schema in place, observability tools can automatically extract and aggregate data, making it easier to understand system behavior at a high level.
This can help teams quickly identify performance bottlenecks, track changes in system behavior over time, and make informed decisions about system performance optimization.

## Details
The next section provides the Simple Schema for Observability support which conforms with the OTEL specification.

- metrics.mapping presents the template mapping for creating the Simple Schema for Observability index
- metrics.schema presents the json schema validation for verification of a metrics document conforms to the mapping structure

## Metrics
see [OTEL metrics convention](https://opentelemetry.io/docs/reference/specification/metrics/)
see [OTEL metrics protobuf](https://github.com/open-telemetry/opentelemetry-proto/tree/main/opentelemetry/proto/metrics/v1)

Simple Schema for Observability conforms with OTEL metrics protocol which defines the next data model:

#### Timestamp field
As part of the data-stream definition the `@timestamp` is mandatory, if the field is not present in the original signal populate this field using `ObservedTimestamp` as value.

### Instrumentation scope
This is a logical unit of the application with which the emitted telemetry can be associated. It is typically the developer’s choice to decide what denotes a reasonable instrumentation scope.
The most common approach is to use the instrumentation library as the scope, however other scopes are also common, e.g. a module, a package, or a class can be chosen as the instrumentation scope.

The instrumentation scope may have zero or more additional attributes that provide additional information about the scope. As an example the field
`instrumentationScope.attributes.identification` is presented will be used to determine the resource origin of the signal and can be used to filter accordingly

### Overview
Metrics are a specific kind of telemetry data. They represent a snapshot of the current state for a set of data.
Metrics are distinct from logs or events, which focus on records or information about individual events.

Metrics expresses all system states as numerical values; counts, current values and such.
Metrics tend to aggregate data temporally, while this can lose information, the reduction in overhead is an engineering trade-off commonly chosen in many modern monitoring systems.

Time series are a record of changing information over time. While time series can support arbitrary strings or binary data, only numeric data is in our scope.
Common examples of metric time series would be network interface counters, device temperatures, BGP connection states, and alert states.

### Metric streams
In a similar way to the data_stream attribute field representing the category of a trace, the metric streams are grouped into individual Metric objects, identified by:

- The originating Resource attributes
- The instrumentation Scope (e.g., instrumentation library name, version)
- The metric stream’s name

### Metrics
Metric object is defined by the following properties:

- The data point type (e.g. Sum, Gauge, Histogram ExponentialHistogram, Summary)
- The metric stream’s unit
- The data point properties, where applicable: AggregationTemporality, Monotonic

The description is also present in the metrics object but is not part of the identification fields
_- The metric stream’s description_


### Data Types

**Values:** Metric values in MUST be either floating points or integers.

**Attributes:** Labels are key-value pairs consisting of string as keys and Any type as values (strings, object, array)

**MetricPoint:** Each MetricPoint consists of a set of values, depending on the MetricFamily type.

**Metric** Metrics are defined by a unique attributes (dimensions) within a MetricFamily.

---

Metrics MUST contain a list of one or more MetricPoints. Metrics with the same name for a given MetricFamily SHOULD have the same set of label names in their LabelSet.

* Metrics.name: String value representation of the matrix purpose
* Metrics.type: Valid values are "gauge", "counter","histogram", and "summary".
* Metrics.Unit: specifies MetricFamily units.

## Metric Types

### Gauge
Gauges are current measurements, such as bytes of memory currently used or the number of items in a queue. For gauges the absolute value is what is of interest to a user.
**_A MetricPoint in a Metric with the type gauge MUST have a single value._**
Gauges MAY increase, decrease, or stay constant over time. Even if they only ever go in one direction, they might still be gauges and not counters.

### Counter
Counters measure discrete events. Common examples are the number of HTTP requests received, CPU seconds spent, or bytes sent. For counters how quickly they are increasing over time is what is of interest to a user.
**_A MetricPoint in a Metric with the type Counter MUST have one value called Total._**

### Histogram / Exponential-Histogram
Histograms measure distributions of discrete events. Common examples are the latency of HTTP requests, function runtimes, or I/O request sizes.
**_A Histogram MetricPoint MUST contain at least one bucket_**, and SHOULD contain Sum, and Created values. Every bucket MUST have a threshold and a value.

### Summary
Summaries also measure distributions of discrete events and MAY be used when Histograms are too expensive and/or an average event size is sufficient.
**_A Summary MetricPoint MAY consist of a Count, Sum, Created, and a set of quantiles._**
Semantically, Count and Sum values are counters & MUST be an integer.


Loading