diff --git a/Pipfile b/Pipfile index 1bc1b63..6f8bd97 100644 --- a/Pipfile +++ b/Pipfile @@ -13,17 +13,20 @@ Sphinx = "*" [packages] src = {editable = true, path = "./"} ipywidgets = "*" -awscli = "*" numpy = "*" scipy = "*" pandas = "*" pyarrow = "*" -scikit-learn = "*" matplotlib = "*" seaborn = "*" -prometheus-api-client = "*" +plotly = "*" +kaleido = "*" +scikit-learn = "*" +umap-learn = "*" +mlxtend = "*" hyperopt = "*" shap = "*" +prometheus-api-client = "*" [requires] python_version = "3.6" diff --git a/Pipfile.lock b/Pipfile.lock index 142020d..b0cdf25 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "02d1c8871b1041024d41cac01a66a9b1835ab3996daefc6b08abd1c7cea789a2" + "sha256": "5aaea10131d44daf4560133bd30deebf8a0c49d37180f7c5f211f7c336fefc50" }, "pipfile-spec": 6, "requires": { @@ -55,14 +55,6 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==20.3.0" }, - "awscli": { - "hashes": [ - "sha256:53e09baa9c0ee3356b40f1ac66a0dce9874ee77508efc5c10c680e89d9cfc9a4", - "sha256:863031db46a502a8cc13fcf0e1ffac14602ec76124a764682d2444718697f48e" - ], - "index": "pypi", - "version": "==1.18.195" - }, "backcall": { "hashes": [ "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", @@ -72,18 +64,11 @@ }, "bleach": { "hashes": [ - "sha256:52b5919b81842b1854196eaae5ca29679a2f2e378905c346d3ca8227c2c66080", - "sha256:9f8ccbeb6183c6e6cddea37592dfb0167485c1e3b13b3363bc325aa8bda3adbd" + "sha256:2d3b3f7e7d69148bb683b26a3f21eabcf62fa8fb7bc75d0e7a13bcecd9568d4d", + "sha256:c6ad42174219b64848e2e2cd434e44f56cd24a93a9b4f8bc52cfed55a1cd5aad" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==3.2.1" - }, - "botocore": { - "hashes": [ - "sha256:633aa910509b060717df4130f7e2841f1101c0c47fd5871f4903b4b1dbab7e23", - "sha256:d31dce56799edb5796085d5296931faae201e28e14e568d9db4dac237a135fe3" - ], - "version": "==1.19.35" + "version": "==3.2.3" }, "certifi": { "hashes": [ @@ -135,10 +120,11 @@ }, "chardet": { "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", + "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" ], - "version": "==3.0.4" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==4.0.0" }, "click": { "hashes": [ @@ -156,14 +142,6 @@ "markers": "python_version >= '3.5'", "version": "==1.6.0" }, - "colorama": { - "hashes": [ - "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff", - "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1" - ], - "markers": "python_version != '3.4'", - "version": "==0.4.3" - }, "cycler": { "hashes": [ "sha256:1d8a5ae1ff6c5cf9b93e8811e581232ad8920aeec647c37316ceac982b08cb2d", @@ -194,15 +172,6 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==0.6.0" }, - "docutils": { - "hashes": [ - "sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0", - "sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827", - "sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.15.2" - }, "entrypoints": { "hashes": [ "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", @@ -215,7 +184,7 @@ "hashes": [ "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==0.18.2" }, "hyperopt": { @@ -236,19 +205,19 @@ }, "importlib-metadata": { "hashes": [ - "sha256:5c5a2720817414a6c41f0a49993908068243ae02c1635a228126519b509c8aed", - "sha256:bf792d480abbd5eda85794e4afb09dd538393f7d6e6ffef6e9f03d2014cf9450" + "sha256:ace61d5fc652dc280e7b6b4ff732a9c2d40db2c0f92bc6cb74e07b73d53a1771", + "sha256:fa5daa4477a7414ae34e95942e4dd07f62adf589143c875c133c1e53c4eff38d" ], "markers": "python_version < '3.8'", - "version": "==3.3.0" + "version": "==3.4.0" }, "ipykernel": { "hashes": [ - "sha256:63b4b96c513e1138874934e3e783a8e5e13c02b9036e37107bfe042ac8955005", - "sha256:e20ceb7e52cb4d250452e1230be76e0b2323f33bd46c6b2bc7abb6601740e182" + "sha256:4ed205700001a83b5832d4821c46a5733f1bf4b1c55744314ae3c756be6b6095", + "sha256:697103d218e9a8828025af7986e033c89e0b36e2b6eb84a5bda4739b9a27f3cb" ], "markers": "python_version >= '3.5'", - "version": "==5.4.2" + "version": "==5.4.3" }, "ipython": { "hashes": [ @@ -267,19 +236,19 @@ }, "ipywidgets": { "hashes": [ - "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", - "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" + "sha256:9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0", + "sha256:e6513cfdaf5878de30f32d57f6dc2474da395a2a2991b94d487406c0ab7f55ca" ], "index": "pypi", - "version": "==7.5.1" + "version": "==7.6.3" }, "jedi": { "hashes": [ - "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20", - "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5" + "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93", + "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.17.2" + "markers": "python_version >= '3.6'", + "version": "==0.18.0" }, "jinja2": { "hashes": [ @@ -289,14 +258,6 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==2.11.2" }, - "jmespath": { - "hashes": [ - "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9", - "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.10.0" - }, "joblib": { "hashes": [ "sha256:75ead23f13484a2a414874779d69ade40d4fa1abe62b222a23cd50d4bc822f6f", @@ -314,11 +275,11 @@ }, "jupyter-client": { "hashes": [ - "sha256:49e390b36fe4b4226724704ea28d9fb903f1a3601b6882ce3105221cd09377a1", - "sha256:c958d24d6eacb975c1acebb68ac9077da61b5f5c040f22f6849928ad7393b950" + "sha256:5eaaa41df449167ebba5e1cf6ca9b31f7fd4f71625069836e2e4fee07fe3cb13", + "sha256:649ca3aca1e28f27d73ef15868a7c7f10d6e70f761514582accec3ca6bb13085" ], "markers": "python_version >= '3.5'", - "version": "==6.1.7" + "version": "==6.1.11" }, "jupyter-core": { "hashes": [ @@ -335,6 +296,25 @@ ], "version": "==0.1.2" }, + "jupyterlab-widgets": { + "hashes": [ + "sha256:5c1a29a84d3069208cb506b10609175b249b6486d6b1cbae8fcde2a11584fb78", + "sha256:caeaf3e6103180e654e7d8d2b81b7d645e59e432487c1d35a41d6d3ee56b3fef" + ], + "markers": "python_version >= '3.6'", + "version": "==1.0.0" + }, + "kaleido": { + "hashes": [ + "sha256:6a73cd4a69609490f7e13e43e77724d254aef28b062babad120b32e6f32968c2", + "sha256:8d0403b1eb21080e09d6d728c1ea7170fd4763c415fe89dfea6edf35ec36f8e7", + "sha256:949e3fc01c56cdca0226e866277cfb5e1b4bf66b5d4045ca43a3211f61bc8446", + "sha256:c583ed02b2c50a17e11ee3faec76f7d5f9898f8915f8877b583c5f83d0094e91", + "sha256:f3de8e08764115f529351208d689ff80523aa1e9fc0018d342af857f94e3b44e" + ], + "index": "pypi", + "version": "==0.1.0" + }, "kiwisolver": { "hashes": [ "sha256:0cd53f403202159b44528498de18f9285b04482bab2a6fc3f5dd8dbb9352e30d", @@ -472,6 +452,14 @@ ], "version": "==0.8.4" }, + "mlxtend": { + "hashes": [ + "sha256:42965827a58d91f218b35a394881b45025a5c023ef8e595825bc97c955f9256c", + "sha256:ba856b4602518c81245e3674af34ae2c9611b91c78dec0aa7c8a0c1da35865d2" + ], + "index": "pypi", + "version": "==0.18.0" + }, "nbclient": { "hashes": [ "sha256:01e2d726d16eaf2cde6db74a87e2451453547e8832d142f73f72fddcd4fe0250", @@ -490,11 +478,11 @@ }, "nbformat": { "hashes": [ - "sha256:aa9450c16d29286dc69b92ea4913c1bffe86488f90184445996ccc03a2f60382", - "sha256:f545b22138865bfbcc6b1ffe89ed5a2b8e2dc5d4fe876f2ca60d8e6f702a30f8" + "sha256:1d223e64a18bfa7cdf2db2e9ba8a818312fc2a0701d2e910b58df66809385a56", + "sha256:3949fdc8f5fa0b1afca16fb307546e78494fa7a7bceff880df8168eafda0e7ac" ], "markers": "python_version >= '3.5'", - "version": "==5.0.8" + "version": "==5.1.2" }, "nest-asyncio": { "hashes": [ @@ -514,11 +502,11 @@ }, "notebook": { "hashes": [ - "sha256:3db37ae834c5f3b6378381229d0e5dfcbfb558d08c8ce646b1ad355147f5e91d", - "sha256:508cf9dad7cdb3188f1aa27017dc78179029dfe83814fc505329f689bc2ab50f" + "sha256:0464b28e18e7a06cec37e6177546c2322739be07962dd13bf712bcb88361f013", + "sha256:25ad93c982b623441b491e693ef400598d1a46cdf11b8c9c0b3be6c61ebbb6cd" ], "markers": "python_version >= '3.5'", - "version": "==6.1.5" + "version": "==6.2.0" }, "numba": { "hashes": [ @@ -544,43 +532,43 @@ }, "numpy": { "hashes": [ - "sha256:08308c38e44cc926bdfce99498b21eec1f848d24c302519e64203a8da99a97db", - "sha256:09c12096d843b90eafd01ea1b3307e78ddd47a55855ad402b157b6c4862197ce", - "sha256:13d166f77d6dc02c0a73c1101dd87fdf01339febec1030bd810dcd53fff3b0f1", - "sha256:141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512", - "sha256:16c1b388cc31a9baa06d91a19366fb99ddbe1c7b205293ed072211ee5bac1ed2", - "sha256:18bed2bcb39e3f758296584337966e68d2d5ba6aab7e038688ad53c8f889f757", - "sha256:1aeef46a13e51931c0b1cf8ae1168b4a55ecd282e6688fdb0a948cc5a1d5afb9", - "sha256:27d3f3b9e3406579a8af3a9f262f5339005dd25e0ecf3cf1559ff8a49ed5cbf2", - "sha256:2a2740aa9733d2e5b2dfb33639d98a64c3b0f24765fed86b0fd2aec07f6a0a08", - "sha256:4377e10b874e653fe96985c05feed2225c912e328c8a26541f7fc600fb9c637b", - "sha256:448ebb1b3bf64c0267d6b09a7cba26b5ae61b6d2dbabff7c91b660c7eccf2bdb", - "sha256:50e86c076611212ca62e5a59f518edafe0c0730f7d9195fec718da1a5c2bb1fc", - "sha256:5734bdc0342aba9dfc6f04920988140fb41234db42381cf7ccba64169f9fe7ac", - "sha256:64324f64f90a9e4ef732be0928be853eee378fd6a01be21a0a8469c4f2682c83", - "sha256:6ae6c680f3ebf1cf7ad1d7748868b39d9f900836df774c453c11c5440bc15b36", - "sha256:6d7593a705d662be5bfe24111af14763016765f43cb6923ed86223f965f52387", - "sha256:8cac8790a6b1ddf88640a9267ee67b1aee7a57dfa2d2dd33999d080bc8ee3a0f", - "sha256:8ece138c3a16db8c1ad38f52eb32be6086cc72f403150a79336eb2045723a1ad", - "sha256:9eeb7d1d04b117ac0d38719915ae169aa6b61fca227b0b7d198d43728f0c879c", - "sha256:a09f98011236a419ee3f49cedc9ef27d7a1651df07810ae430a6b06576e0b414", - "sha256:a5d897c14513590a85774180be713f692df6fa8ecf6483e561a6d47309566f37", - "sha256:ad6f2ff5b1989a4899bf89800a671d71b1612e5ff40866d1f4d8bcf48d4e5764", - "sha256:c42c4b73121caf0ed6cd795512c9c09c52a7287b04d105d112068c1736d7c753", - "sha256:cb1017eec5257e9ac6209ac172058c430e834d5d2bc21961dceeb79d111e5909", - "sha256:d6c7bb82883680e168b55b49c70af29b84b84abb161cbac2800e8fcb6f2109b6", - "sha256:e452dc66e08a4ce642a961f134814258a082832c78c90351b75c41ad16f79f63", - "sha256:e5b6ed0f0b42317050c88022349d994fe72bfe35f5908617512cd8c8ef9da2a9", - "sha256:e9b30d4bd69498fc0c3fe9db5f62fffbb06b8eb9321f92cc970f2969be5e3949", - "sha256:ec149b90019852266fec2341ce1db513b843e496d5a8e8cdb5ced1923a92faab", - "sha256:edb01671b3caae1ca00881686003d16c2209e07b7ef8b7639f1867852b948f7c", - "sha256:f0d3929fe88ee1c155129ecd82f981b8856c5d97bcb0d5f23e9b4242e79d1de3", - "sha256:f29454410db6ef8126c83bd3c968d143304633d45dc57b51252afbd79d700893", - "sha256:fe45becb4c2f72a0907c1d0246ea6449fe7a9e2293bb0e11c4e9a32bb0930a15", - "sha256:fedbd128668ead37f33917820b704784aff695e0019309ad446a6d0b065b57e4" + "sha256:012426a41bc9ab63bb158635aecccc7610e3eff5d31d1eb43bc099debc979d94", + "sha256:06fab248a088e439402141ea04f0fffb203723148f6ee791e9c75b3e9e82f080", + "sha256:0eef32ca3132a48e43f6a0f5a82cb508f22ce5a3d6f67a8329c81c8e226d3f6e", + "sha256:1ded4fce9cfaaf24e7a0ab51b7a87be9038ea1ace7f34b841fe3b6894c721d1c", + "sha256:2e55195bc1c6b705bfd8ad6f288b38b11b1af32f3c8289d6c50d47f950c12e76", + "sha256:2ea52bd92ab9f768cc64a4c3ef8f4b2580a17af0a5436f6126b08efbd1838371", + "sha256:36674959eed6957e61f11c912f71e78857a8d0604171dfd9ce9ad5cbf41c511c", + "sha256:384ec0463d1c2671170901994aeb6dce126de0a95ccc3976c43b0038a37329c2", + "sha256:39b70c19ec771805081578cc936bbe95336798b7edf4732ed102e7a43ec5c07a", + "sha256:400580cbd3cff6ffa6293df2278c75aef2d58d8d93d3c5614cd67981dae68ceb", + "sha256:43d4c81d5ffdff6bae58d66a3cd7f54a7acd9a0e7b18d97abb255defc09e3140", + "sha256:50a4a0ad0111cc1b71fa32dedd05fa239f7fb5a43a40663269bb5dc7877cfd28", + "sha256:603aa0706be710eea8884af807b1b3bc9fb2e49b9f4da439e76000f3b3c6ff0f", + "sha256:6149a185cece5ee78d1d196938b2a8f9d09f5a5ebfbba66969302a778d5ddd1d", + "sha256:759e4095edc3c1b3ac031f34d9459fa781777a93ccc633a472a5468587a190ff", + "sha256:7fb43004bce0ca31d8f13a6eb5e943fa73371381e53f7074ed21a4cb786c32f8", + "sha256:811daee36a58dc79cf3d8bdd4a490e4277d0e4b7d103a001a4e73ddb48e7e6aa", + "sha256:8b5e972b43c8fc27d56550b4120fe6257fdc15f9301914380b27f74856299fea", + "sha256:99abf4f353c3d1a0c7a5f27699482c987cf663b1eac20db59b8c7b061eabd7fc", + "sha256:a0d53e51a6cb6f0d9082decb7a4cb6dfb33055308c4c44f53103c073f649af73", + "sha256:a12ff4c8ddfee61f90a1633a4c4afd3f7bcb32b11c52026c92a12e1325922d0d", + "sha256:a4646724fba402aa7504cd48b4b50e783296b5e10a524c7a6da62e4a8ac9698d", + "sha256:a76f502430dd98d7546e1ea2250a7360c065a5fdea52b2dffe8ae7180909b6f4", + "sha256:a9d17f2be3b427fbb2bce61e596cf555d6f8a56c222bd2ca148baeeb5e5c783c", + "sha256:ab83f24d5c52d60dbc8cd0528759532736b56db58adaa7b5f1f76ad551416a1e", + "sha256:aeb9ed923be74e659984e321f609b9ba54a48354bfd168d21a2b072ed1e833ea", + "sha256:c843b3f50d1ab7361ca4f0b3639bf691569493a56808a0b0c54a051d260b7dbd", + "sha256:cae865b1cae1ec2663d8ea56ef6ff185bad091a5e33ebbadd98de2cfa3fa668f", + "sha256:cc6bd4fd593cb261332568485e20a0712883cf631f6f5e8e86a52caa8b2b50ff", + "sha256:cf2402002d3d9f91c8b01e66fbb436a4ed01c6498fffed0e4c7566da1d40ee1e", + "sha256:d051ec1c64b85ecc69531e1137bb9751c6830772ee5c1c426dbcfe98ef5788d7", + "sha256:d6631f2e867676b13026e2846180e2c13c1e11289d67da08d71cacb2cd93d4aa", + "sha256:dbd18bcf4889b720ba13a27ec2f2aac1981bd41203b3a3b27ba7a33f88ae4827", + "sha256:df609c82f18c5b9f6cb97271f03315ff0dbe481a2a02e56aeb1b1a985ce38e60" ], "index": "pypi", - "version": "==1.19.4" + "version": "==1.19.5" }, "packaging": { "hashes": [ @@ -628,11 +616,11 @@ }, "parso": { "hashes": [ - "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea", - "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9" + "sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410", + "sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.7.1" + "markers": "python_version >= '3.6'", + "version": "==0.8.1" }, "pexpect": { "hashes": [ @@ -651,37 +639,49 @@ }, "pillow": { "hashes": [ - "sha256:006de60d7580d81f4a1a7e9f0173dc90a932e3905cc4d47ea909bc946302311a", - "sha256:0a2e8d03787ec7ad71dc18aec9367c946ef8ef50e1e78c71f743bc3a770f9fae", - "sha256:0eeeae397e5a79dc088d8297a4c2c6f901f8fb30db47795113a4a605d0f1e5ce", - "sha256:11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e", - "sha256:2fb113757a369a6cdb189f8df3226e995acfed0a8919a72416626af1a0a71140", - "sha256:4b0ef2470c4979e345e4e0cc1bbac65fda11d0d7b789dbac035e4c6ce3f98adb", - "sha256:59e903ca800c8cfd1ebe482349ec7c35687b95e98cefae213e271c8c7fffa021", - "sha256:5abd653a23c35d980b332bc0431d39663b1709d64142e3652890df4c9b6970f6", - "sha256:5f9403af9c790cc18411ea398a6950ee2def2a830ad0cfe6dc9122e6d528b302", - "sha256:6b4a8fd632b4ebee28282a9fef4c341835a1aa8671e2770b6f89adc8e8c2703c", - "sha256:6c1aca8231625115104a06e4389fcd9ec88f0c9befbabd80dc206c35561be271", - "sha256:795e91a60f291e75de2e20e6bdd67770f793c8605b553cb6e4387ce0cb302e09", - "sha256:7ba0ba61252ab23052e642abdb17fd08fdcfdbbf3b74c969a30c58ac1ade7cd3", - "sha256:7c9401e68730d6c4245b8e361d3d13e1035cbc94db86b49dc7da8bec235d0015", - "sha256:81f812d8f5e8a09b246515fac141e9d10113229bc33ea073fec11403b016bcf3", - "sha256:895d54c0ddc78a478c80f9c438579ac15f3e27bf442c2a9aa74d41d0e4d12544", - "sha256:8de332053707c80963b589b22f8e0229f1be1f3ca862a932c1bcd48dafb18dd8", - "sha256:92c882b70a40c79de9f5294dc99390671e07fc0b0113d472cbea3fde15db1792", - "sha256:95edb1ed513e68bddc2aee3de66ceaf743590bf16c023fb9977adc4be15bd3f0", - "sha256:b63d4ff734263ae4ce6593798bcfee6dbfb00523c82753a3a03cbc05555a9cc3", - "sha256:bd7bf289e05470b1bc74889d1466d9ad4a56d201f24397557b6f65c24a6844b8", - "sha256:cc3ea6b23954da84dbee8025c616040d9aa5eaf34ea6895a0a762ee9d3e12e11", - "sha256:cc9ec588c6ef3a1325fa032ec14d97b7309db493782ea8c304666fb10c3bd9a7", - "sha256:d3d07c86d4efa1facdf32aa878bd508c0dc4f87c48125cc16b937baa4e5b5e11", - "sha256:d8a96747df78cda35980905bf26e72960cba6d355ace4780d4bdde3b217cdf1e", - "sha256:e38d58d9138ef972fceb7aeec4be02e3f01d383723965bfcef14d174c8ccd039", - "sha256:eb472586374dc66b31e36e14720747595c2b265ae962987261f044e5cce644b5", - "sha256:fbd922f702582cb0d71ef94442bfca57624352622d75e3be7a1e7e9360b07e72" + "sha256:165c88bc9d8dba670110c689e3cc5c71dbe4bfb984ffa7cbebf1fac9554071d6", + "sha256:1d208e670abfeb41b6143537a681299ef86e92d2a3dac299d3cd6830d5c7bded", + "sha256:22d070ca2e60c99929ef274cfced04294d2368193e935c5d6febfd8b601bf865", + "sha256:2353834b2c49b95e1313fb34edf18fca4d57446675d05298bb694bca4b194174", + "sha256:39725acf2d2e9c17356e6835dccebe7a697db55f25a09207e38b835d5e1bc032", + "sha256:3de6b2ee4f78c6b3d89d184ade5d8fa68af0848f9b6b6da2b9ab7943ec46971a", + "sha256:47c0d93ee9c8b181f353dbead6530b26980fe4f5485aa18be8f1fd3c3cbc685e", + "sha256:5e2fe3bb2363b862671eba632537cd3a823847db4d98be95690b7e382f3d6378", + "sha256:604815c55fd92e735f9738f65dabf4edc3e79f88541c221d292faec1904a4b17", + "sha256:6c5275bd82711cd3dcd0af8ce0bb99113ae8911fc2952805f1d012de7d600a4c", + "sha256:731ca5aabe9085160cf68b2dbef95fc1991015bc0a3a6ea46a371ab88f3d0913", + "sha256:7612520e5e1a371d77e1d1ca3a3ee6227eef00d0a9cddb4ef7ecb0b7396eddf7", + "sha256:7916cbc94f1c6b1301ac04510d0881b9e9feb20ae34094d3615a8a7c3db0dcc0", + "sha256:81c3fa9a75d9f1afafdb916d5995633f319db09bd773cb56b8e39f1e98d90820", + "sha256:887668e792b7edbfb1d3c9d8b5d8c859269a0f0eba4dda562adb95500f60dbba", + "sha256:93a473b53cc6e0b3ce6bf51b1b95b7b1e7e6084be3a07e40f79b42e83503fbf2", + "sha256:96d4dc103d1a0fa6d47c6c55a47de5f5dafd5ef0114fa10c85a1fd8e0216284b", + "sha256:a3d3e086474ef12ef13d42e5f9b7bbf09d39cf6bd4940f982263d6954b13f6a9", + "sha256:b02a0b9f332086657852b1f7cb380f6a42403a6d9c42a4c34a561aa4530d5234", + "sha256:b09e10ec453de97f9a23a5aa5e30b334195e8d2ddd1ce76cc32e52ba63c8b31d", + "sha256:b6f00ad5ebe846cc91763b1d0c6d30a8042e02b2316e27b05de04fa6ec831ec5", + "sha256:bba80df38cfc17f490ec651c73bb37cd896bc2400cfba27d078c2135223c1206", + "sha256:c3d911614b008e8a576b8e5303e3db29224b455d3d66d1b2848ba6ca83f9ece9", + "sha256:ca20739e303254287138234485579b28cb0d524401f83d5129b5ff9d606cb0a8", + "sha256:cb192176b477d49b0a327b2a5a4979552b7a58cd42037034316b8018ac3ebb59", + "sha256:cdbbe7dff4a677fb555a54f9bc0450f2a21a93c5ba2b44e09e54fcb72d2bd13d", + "sha256:cf6e33d92b1526190a1de904df21663c46a456758c0424e4f947ae9aa6088bf7", + "sha256:d355502dce85ade85a2511b40b4c61a128902f246504f7de29bbeec1ae27933a", + "sha256:d673c4990acd016229a5c1c4ee8a9e6d8f481b27ade5fc3d95938697fa443ce0", + "sha256:dc577f4cfdda354db3ae37a572428a90ffdbe4e51eda7849bf442fb803f09c9b", + "sha256:dd9eef866c70d2cbbea1ae58134eaffda0d4bfea403025f4db6859724b18ab3d", + "sha256:f50e7a98b0453f39000619d845be8b06e611e56ee6e8186f7f60c3b1e2f0feae" ], "markers": "python_version >= '3.6'", - "version": "==8.0.1" + "version": "==8.1.0" + }, + "plotly": { + "hashes": [ + "sha256:7d8aaeed392e82fb8e0e48899f2d3d957b12327f9d38cdd5802bc574a8a39d91", + "sha256:d68fc15fcb49f88db27ab3e0c87110943e65fee02a47f33a8590f541b3042461" + ], + "index": "pypi", + "version": "==4.14.3" }, "prometheus-api-client": { "hashes": [ @@ -700,68 +700,46 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:25c95d2ac813909f813c93fde734b6e44406d1477a9faef7c915ff37d39c0a8c", - "sha256:7debb9a521e0b1ee7d2fe96ee4bd60ef03c6492784de0547337ca4433e46aa63" + "sha256:7e966747c18ececaec785699626b771c1ba8344c8d31759a1915d6b12fad6525", + "sha256:c96b30925025a7635471dc083ffb6af0cc67482a00611bd81aeaeeeb7e5a5e12" ], "markers": "python_full_version >= '3.6.1'", - "version": "==3.0.8" + "version": "==3.0.14" }, "ptyprocess": { "hashes": [ - "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", - "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" + "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", + "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" ], "markers": "os_name != 'nt'", - "version": "==0.6.0" + "version": "==0.7.0" }, "pyarrow": { "hashes": [ - "sha256:00d8fb8a9b2d9bb2f0ced2765b62c5d72689eed06c47315bca004584b0ccda60", - "sha256:0b358773eb9fb1b31c8217c6c8c0b4681c3dff80562dc23ad5b379f0279dad69", - "sha256:0bf43e520c33ceb1dd47263a5326830fca65f18d827f7f7b8fe7e64fc4364d88", - "sha256:0db5156a66615591a4a8c66a9a30890a364a259de8d2a6ccb873c7d1740e6c75", - "sha256:1000e491e9a539588ec33a2c2603cf05f1d4629aef375345bfd64f2ab7bc8529", - "sha256:14b02a629986c25e045f81771799e07a8bb3f339898c111314066436769a3dd4", - "sha256:16ec87163a2fb4abd48bf79cbdf70a7455faa83740e067c2280cfa45a63ed1f3", - "sha256:3e33e9003794c9062f4c963a10f2a0d787b83d4d1a517a375294f2293180b778", - "sha256:652c5dff97624375ed0f97cc8ad6f88ee01953f15c17083917735de171f03fe0", - "sha256:6afc71cc9c234f3cdbe971297468755ec3392966cb19d3a6caf42fd7dbc6aaa9", - "sha256:916b593a24f2812b9a75adef1143b1dd89d799e1803282fea2829c5dc0b828ea", - "sha256:9a8d3c6baa6e159017d97e8a028ae9eaa2811d8f1ab3d22710c04dcddc0dd7a1", - "sha256:9f4ba9ab479c0172e532f5d73c68e30a31c16b01e09bb21eba9201561231f722", - "sha256:acdd18fd83c0be0b53a8e734c0a650fb27bbf4e7d96a8f7eb0a7506ea58bd594", - "sha256:b5e6cd217457e8febcc98a6c279b96f72d5c31a24cd2bffd8d3b2da701d2025c", - "sha256:bc8c3713086e4a137b3fda4b149440458b1b0bd72f67b1afa2c7068df1edc060", - "sha256:c801e59ec4e8d9d871e299726a528c3ba3139f2ce2d9cdab101f8483c52eec7c", - "sha256:ccff3a72f70ebfcc002bf75f5ad1248065e5c9c14e0dcfa599a438ea221c5658", - "sha256:ce0462cec7f81c4ff87ce1a95c82a8d467606dce6c72e92906ac251c6115f32b", - "sha256:cf9bf10daadbbf1a360ac1c7dab0b4f8381d81a3f452737bd6ed310d57a88be8", - "sha256:dc0d04c42632e65c4fcbe2f82c70109c5f347652844ead285bc1285dc3a67660", - "sha256:dd661b6598ce566c6f41d31cc1fc4482308613c2c0c808bd8db33b0643192f84", - "sha256:eb05038b750a6e16a9680f9d2c40d050796284ea1f94690da8f4f28805af0495", - "sha256:fb69672e69e1b752744ee1e236fdf03aad78ffec905fc5c19adbaf88bac4d0fd", - "sha256:ffb306951b5925a0638dc2ef1ab7ce8033f39e5b4e0fef5787b91ef4fa7da19d" + "sha256:03e2435da817bc2b5d0fad6f2e53305eb36c24004ddfcb2b30e4217a1a80cf22", + "sha256:2be3a9eab4bfd00024dc3c83fa03de1c1d04a0f47ebaf3dc483cd100546eacbf", + "sha256:2c3353d38d137f1158595b3b18dcef711f3d8fdb57cf7ae2d861d07235064bc1", + "sha256:2d5c95eb04a3d2e786e097b53534893eade6c8b3faf10f53a06143384b4446b1", + "sha256:31e6fc0868963aba4e6b8a3e218c9a5ff347bca870d622da0b3d58269d0c5398", + "sha256:3b46487c45faaea8d1a5aa65002e2832ae2e1c9e68ecb461cda4fa59891cf490", + "sha256:3ea6574d1ae2d9bff7e6e1715f64c31bdc01b42387a5c78311a8ce9c09cfe135", + "sha256:4bf8cc43e1db1e0517466209ee8e8f459d9b5e1b4074863317f2a965cf59889e", + "sha256:5faa2dc73444bdcf042f121383965a47362be1f946303d46e8fd80f8d26cd90c", + "sha256:72206cde1857d5420601feae75f53921cffab4326b42262a858c7b8be67982b7", + "sha256:960a9b0fd599601ddac42f16d5acf049637ec08957359c6741d6eb2bf0dbae97", + "sha256:978bbe8ec9090d1133a25f00f32ed92600f9d315fbfa29a17952bee01f0d7fe5", + "sha256:a07e286e81ceb20f8f0c45f69760d2ebc434fe83794d5f9b44f89fc2dc6dc24d", + "sha256:a76031ef19d11db2fef79a97cc69997c97bea35aa07efbe042a177c7e3b1a390", + "sha256:b08c119cc2b9fcd1567797fedb245a2f4352a3084a22b7298272afe7cf7a4730", + "sha256:b1cf92df9f336f31706249e543dc0ffce3c67a78204ce540f1173c6c07dfafec", + "sha256:b7a8903f2b8a80498725ef5d4a35cd7dd5a98b74e080d42692545e61a6cbfbe4", + "sha256:bf6684fe9e38f8ddb696e38901461eab783ec1d565974ebd5862270320b3e27f", + "sha256:cfea99a01d844c3db5e25374a6cdcf3b5ba1698bfe95d41272c295a4581e884c", + "sha256:d5666a7fa2668f3ff95df028c2072d59e8b17e73d682068e8505dafa2688f3cc", + "sha256:dec007a0f7adba86bd170252140ede01646b45c3a470d5862ce00d8e40cd29bd" ], "index": "pypi", - "version": "==2.0.0" - }, - "pyasn1": { - "hashes": [ - "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359", - "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576", - "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf", - "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7", - "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d", - "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00", - "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8", - "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86", - "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12", - "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776", - "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba", - "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2", - "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3" - ], - "version": "==0.4.8" + "version": "==3.0.0" }, "pycparser": { "hashes": [ @@ -773,18 +751,24 @@ }, "pygments": { "hashes": [ - "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716", - "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08" + "sha256:bc9591213a8f0e0ca1a5e68a479b4887fdc3e75d0774e5c71c31920c427de435", + "sha256:df49d09b498e83c1a73128295860250b0b7edd4c723a32e9bc0d295c7c2ec337" ], "markers": "python_version >= '3.5'", - "version": "==2.7.3" + "version": "==2.7.4" + }, + "pynndescent": { + "hashes": [ + "sha256:74a05a54d13573a38878781d44812ac6df97d8762a56f9bb5dd87a99911820fe" + ], + "version": "==0.5.1" }, "pyparsing": { "hashes": [ "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.4.7" }, "pyrsistent": { @@ -799,7 +783,7 @@ "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.8.1" }, "python-dotenv": { @@ -811,64 +795,44 @@ }, "pytz": { "hashes": [ - "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268", - "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd" + "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", + "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5" ], - "version": "==2020.4" - }, - "pyyaml": { - "hashes": [ - "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", - "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", - "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", - "sha256:6034f55dab5fea9e53f436aa68fa3ace2634918e8b5994d82f3621c04ff5ed2e", - "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", - "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", - "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", - "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", - "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", - "sha256:ad9c67312c84def58f3c04504727ca879cb0013b2517c85a9a253f0cb6380c0a", - "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", - "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", - "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" - ], - "markers": "python_version != '3.4'", - "version": "==5.3.1" + "version": "==2020.5" }, "pyzmq": { "hashes": [ - "sha256:03638e46d486dd1c118e03c8bf9c634bdcae679600eac6573ae1e54906de7c2f", - "sha256:0af84f34f27b5c6a0e906c648bdf46d4caebf9c8e6e16db0728f30a58141cad6", - "sha256:0e554fd390021edbe0330b67226325a820b0319c5b45e1b0a59bf22ccc36e793", - "sha256:1e9b75a119606732023a305d1c214146c09a91f8116f6aff3e8b7d0a60b6f0ff", - "sha256:225774a48ed7414c0395335e7123ef8c418dbcbe172caabdc2496133b03254c2", - "sha256:2742e380d186673eee6a570ef83d4568741945434ba36d92b98d36cdbfedbd44", - "sha256:309d763d89ec1845c0e0fa14e1fb6558fd8c9ef05ed32baec27d7a8499cc7bb0", - "sha256:46250789730489009fe139cbf576679557c070a6a3628077d09a4153d52fd381", - "sha256:4d9259a5eb3f71abbaf61f165cacf42240bfeea3783bebd8255341abdfe206f1", - "sha256:523d542823cabb94065178090e05347bd204365f6e7cb260f0071c995d392fc2", - "sha256:53706f4a792cdae422121fb6a5e65119bad02373153364fc9d004cf6a90394de", - "sha256:5efe02bdcc5eafcac0aab531292294298f0ab8d28ed43be9e507d0e09173d1a4", - "sha256:63ee08e35be72fdd7568065a249a5b5cf51a2e8ab6ee63cf9f73786fcb9e710b", - "sha256:6e24907857c80dc67692e31f5bf3ad5bf483ee0142cec95b3d47e2db8c43bdda", - "sha256:7113eb93dcd0a5750c65d123ed0099e036a3a3f2dcb48afedd025ffa125c983b", - "sha256:824ad5888331aadeac772bce27e1c2fbcab82fade92edbd234542c4e12f0dca9", - "sha256:895695be380f0f85d2e3ec5ccf68a93c92d45bd298567525ad5633071589872c", - "sha256:b62113eeb9a0649cebed9b21fd578f3a0175ef214a2a91dcb7b31bbf55805295", - "sha256:bc7dd697356b31389d5118b9bcdef3e8d8079e8181800c4e8d72dccd56e1ff68", - "sha256:bf755905a7d30d2749079611b9a89924c1f2da2695dc09ce221f42122c9808e3", - "sha256:c63fafd2556d218368c51d18588f8e6f8d86d09d493032415057faf6de869b34", - "sha256:c95dda497a7c1b1e734b5e8353173ca5dd7b67784d8821d13413a97856588057", - "sha256:cc09c5cd1a4332611c8564d65e6a432dc6db3e10793d0254da9fa1e31d9ffd6d", - "sha256:cfa54a162a7b32641665e99b2c12084555afe9fc8fe80ec8b2f71a57320d10e1", - "sha256:d81184489369ec325bd50ba1c935361e63f31f578430b9ad95471899361a8253", - "sha256:d92c7f41a53ece82b91703ea433c7d34143248cf0cead33aa11c5fc621c764bf", - "sha256:dc2f48b575dff6edefd572f1ac84cf0c3f18ad5fcf13384de32df740a010594a", - "sha256:f0beef935efe78a63c785bb21ed56c1c24448511383e3994927c8bb2caf5e714", - "sha256:f110a4d3f8f01209eec304ed542f6c8054cce9b0f16dfe3d571e57c290e4e133" + "sha256:082abbb95936f7475cee098153191058350878e33b8fb1dbefc82264978297e4", + "sha256:098c13c6198913c2a0690235fa74d2e49161755f66b663beaec89651554cc79c", + "sha256:0a6890d626b4f95f276a2381aea8d3435bb25ef7a2735bbc74966b105b09e758", + "sha256:42ddd761ac71dd7a386849bceffdcf4f35798caf844b762693456fc55c19c721", + "sha256:43df5e2fe06e03f41649a48e6339045fe8c68feaedef700a54440551f0ba94a3", + "sha256:46ff042f883bb22242ba5a3817fbcb2ff0cc0990827b8f925d49c176b1cb7394", + "sha256:4a70ef4e3835333e020c697ebfe3e6be172dd4ef8fe19ad047cd88678c1259c5", + "sha256:530ee5571bea541ff68c6e92819a0da0bdab9457c9b637b6c142c267c02a799e", + "sha256:544963322b1cb650de3d2f45d81bc644e5d9ada6f8f1f5718d9837cda78ee948", + "sha256:62b3c8196b2fa106552b03ed8ea7b91e1047e9a614849c87aea468f0caac4076", + "sha256:664f075d38869c6117507193ae3f3d5319491900f11b344030345c11d74863f2", + "sha256:68f8120ba7ec704d5acfabdcd1328c37806d8a23e1688a7ae3f59193c3cd46e3", + "sha256:71ff9975f23a78c14a303bf4efd8b8924830a170a8eabcffff7f5e5a5b583b9e", + "sha256:7307f6efb568a20bb56662041555d08aa2cbc71df91638344b6a088c10b44da7", + "sha256:82f59dbbdc47987f7ce0daea4d6ee21059ab9d5896bd8110215736c62762cc7f", + "sha256:84ccd4d9f8839353278480d1f06372f5fd149abcb7621f85c4ebe0924acbd110", + "sha256:8b984feb536152009e2dc306140ec47f88dd85922063d9e9e8b07f4ff5a0832a", + "sha256:a0d3aaff782ee1d423e90604c2abe4e573062e9a2008b27c01c86d94f94dbfa7", + "sha256:a3da3d5a66545fa127ad12784babd78859656e0c9614324d40c72d4210aa5bbe", + "sha256:b4b7e6edea41257562e9d4b28e717ee04ef078720d46ddb4c2241b9b60dbecc2", + "sha256:b7f471ecead3c4b3c88d00eeff5d78f2b2a6a9f56dd33aa96620019d83fcc3dd", + "sha256:c34ec0218319f7a78b15315038125d08ab0b37ff1fe2ce002e70b7aafe1423cf", + "sha256:d91cbc637a34e1a72ebc47da8bf21a2e6c5e386d1b04143c07c8082258e9b430", + "sha256:dbccca5b77162f610727b664804216674b1974a7a65e03a6ed638a9434cdf2b2", + "sha256:efd3685579d93f01a742827d4d364df6a3c08df25e14ea091828e3f77d054f19", + "sha256:f91a6dd45678fa6bac889267328ed9cfec56e2adeab7af2dddfa8c7e9dab24de", + "sha256:fcb790ff9df5d85d059069a7847f5696ec9296b719ed3e7e675a61a7af390e2f", + "sha256:fe714a0aeee5d5f230cb67af8e584f243adce63f32e81519dd80f605d036feea" ], - "markers": "python_version >= '3.5'", - "version": "==20.0.0" + "markers": "python_version >= '3.6'", + "version": "==21.0.2" }, "regex": { "hashes": [ @@ -918,48 +882,52 @@ }, "requests": { "hashes": [ - "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8", - "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998" + "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", + "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.25.0" + "version": "==2.25.1" }, - "rsa": { + "retrying": { "hashes": [ - "sha256:35c5b5f6675ac02120036d97cf96f1fde4d49670543db2822ba5015e21a18032", - "sha256:4d409f5a7d78530a4a2062574c7bd80311bc3af29b364e293aa9b03eea77714f" + "sha256:08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b" ], - "markers": "python_version != '3.4'", - "version": "==4.5" - }, - "s3transfer": { - "hashes": [ - "sha256:2482b4259524933a022d59da830f51bd746db62f047d6eb213f2f8855dcb8a13", - "sha256:921a37e2aefc64145e7b73d50c71bb4f26f46e4c9f414dc648c6245ff92cf7db" - ], - "version": "==0.3.3" + "version": "==1.3.3" }, "scikit-learn": { "hashes": [ - "sha256:0a127cc70990d4c15b1019680bfedc7fec6c23d14d3719fdf9b64b22d37cdeca", - "sha256:0d39748e7c9669ba648acf40fb3ce96b8a07b240db6888563a7cb76e05e0d9cc", - "sha256:1b8a391de95f6285a2f9adffb7db0892718950954b7149a70c783dc848f104ea", - "sha256:20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480", - "sha256:2aa95c2f17d2f80534156215c87bee72b6aa314a7f8b8fe92a2d71f47280570d", - "sha256:5ce7a8021c9defc2b75620571b350acc4a7d9763c25b7593621ef50f3bd019a2", - "sha256:6c28a1d00aae7c3c9568f61aafeaad813f0f01c729bee4fd9479e2132b215c1d", - "sha256:7671bbeddd7f4f9a6968f3b5442dac5f22bf1ba06709ef888cc9132ad354a9ab", - "sha256:914ac2b45a058d3f1338d7736200f7f3b094857758895f8667be8a81ff443b5b", - "sha256:98508723f44c61896a4e15894b2016762a55555fbf09365a0bb1870ecbd442de", - "sha256:a64817b050efd50f9abcfd311870073e500ae11b299683a519fbb52d85e08d25", - "sha256:cb3e76380312e1f86abd20340ab1d5b3cc46a26f6593d3c33c9ea3e4c7134028", - "sha256:d0dcaa54263307075cb93d0bee3ceb02821093b1b3d25f66021987d305d01dce", - "sha256:d9a1ce5f099f29c7c33181cc4386660e0ba891b21a60dc036bf369e3a3ee3aec", - "sha256:da8e7c302003dd765d92a5616678e591f347460ac7b53e53d667be7dfe6d1b10", - "sha256:daf276c465c38ef736a79bd79fc80a249f746bcbcae50c40945428f7ece074f8" + "sha256:0567a2d29ad08af98653300c623bd8477b448fe66ced7198bef4ed195925f082", + "sha256:087dfede39efb06ab30618f9ab55a0397f29c38d63cd0ab88d12b500b7d65fd7", + "sha256:1adf483e91007a87171d7ce58c34b058eb5dab01b5fee6052f15841778a8ecd8", + "sha256:259ec35201e82e2db1ae2496f229e63f46d7f1695ae68eef9350b00dc74ba52f", + "sha256:3c4f07f47c04e81b134424d53c3f5e16dfd7f494e44fd7584ba9ce9de2c5e6c1", + "sha256:4562dcf4793e61c5d0f89836d07bc37521c3a1889da8f651e2c326463c4bd697", + "sha256:4ddd2b6f7449a5d539ff754fa92d75da22de261fd8fdcfb3596799fadf255101", + "sha256:7b04691eb2f41d2c68dbda8d1bd3cb4ef421bdc43aaa56aeb6c762224552dfb6", + "sha256:826b92bf45b8ad80444814e5f4ac032156dd481e48d7da33d611f8fe96d5f08b", + "sha256:83b21ff053b1ff1c018a2d24db6dd3ea339b1acfbaa4d9c881731f43748d8b3b", + "sha256:8772b99d683be8f67fcc04789032f1b949022a0e6880ee7b75a7ec97dbbb5d0b", + "sha256:895dbf2030aa7337649e36a83a007df3c9811396b4e2fa672a851160f36ce90c", + "sha256:8aa1b3ac46b80eaa552b637eeadbbce3be5931e4b5002b964698e33a1b589e1e", + "sha256:99349d77f54e11f962d608d94dfda08f0c9e5720d97132233ebdf35be2858b2d", + "sha256:9a24d1ccec2a34d4cd3f2a1f86409f3f5954cc23d4d2270ba0d03cf018aa4780", + "sha256:9bed8a1ef133c8e2f13966a542cb8125eac7f4b67dcd234197c827ba9c7dd3e0", + "sha256:9c6097b6a9b2bafc5e0f31f659e6ab5e131383209c30c9e978c5b8abdac5ed2a", + "sha256:9dfa564ef27e8e674aa1cc74378416d580ac4ede1136c13dd555a87996e13422", + "sha256:a0334a1802e64d656022c3bfab56a73fbd6bf4b1298343f3688af2151810bbdf", + "sha256:a29460499c1e62b7a830bb57ca42e615375a6ab1bcad053cd25b493588348ea8", + "sha256:a36e159a0521e13bbe15ca8c8d038b3a1dd4c7dad18d276d76992e03b92cf643", + "sha256:c13ebac42236b1c46397162471ea1c46af68413000e28b9309f8c05722c65a09", + "sha256:c3deb3b19dd9806acf00cf0d400e84562c227723013c33abefbbc3cf906596e9", + "sha256:c658432d8a20e95398f6bb95ff9731ce9dfa343fdf21eea7ec6a7edfacd4b4d9", + "sha256:c7f4eb77504ac586d8ac1bde1b0c04b504487210f95297235311a0ab7edd7e38", + "sha256:d54dbaadeb1425b7d6a66bf44bee2bb2b899fe3e8850b8e94cfb9c904dcb46d0", + "sha256:ddb52d088889f5596bc4d1de981f2eca106b58243b6679e4782f3ba5096fd645", + "sha256:ed9d65594948678827f4ff0e7ae23344e2f2b4cabbca057ccaed3118fdc392ca", + "sha256:fab31f48282ebf54dd69f6663cd2d9800096bad1bb67bbc9c9ac84eb77b41972" ], "index": "pypi", - "version": "==0.23.2" + "version": "==0.24.1" }, "scipy": { "hashes": [ @@ -994,11 +962,11 @@ }, "seaborn": { "hashes": [ - "sha256:390f8437b14f5ce845062f2865ad51656464c306d09bb97d7764c6cba1dd607c", - "sha256:62439a38482decdb263a8339f54ecb9823995ad8716abc830e91ca0753201e70" + "sha256:44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad", + "sha256:4e1cce9489449a1c6ff3c567f2113cdb41122f727e27a984950d004a88ef3c5c" ], "index": "pypi", - "version": "==0.11.0" + "version": "==0.11.1" }, "send2trash": { "hashes": [ @@ -1009,29 +977,29 @@ }, "shap": { "hashes": [ - "sha256:022c8550214ba589af6771bc36df9b30e323f3f9b11b4fbe2dd3a3de853c99e0", - "sha256:6a323bd726f8616cad6c1f3156208ce620911994a4fcc1886a662a5f299fdc84", - "sha256:b173696e1b7f25f74446e9e70900f90df5697ae1ef967f9b3aa5b30db533027a", - "sha256:dca8127016988d2b64895e8c2afcf8ebdef152e8e1e8bfe84201d41c89c09b0f" + "sha256:0457e7fb80d2398454a16d16c7cd7934003e8c8bd9c1e002d965fce6a3815e54", + "sha256:34913391184180f9359e2627131960a473d67143e94b7f649c75a2d0c7d4cd40", + "sha256:4cc1e1ac2e1e30aa9857fcf3fcfa0a6b2bf5e6aa0670c16a36bc28cd9b11aae5", + "sha256:8f23e2ee3c80774d8c0942ecbd71b4dc0c2beba6d3de41dfc3a86e55adb9d28a" ], "index": "pypi", - "version": "==0.37.0" + "version": "==0.38.1" }, "six": { "hashes": [ "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==1.15.0" }, "slicer": { "hashes": [ - "sha256:027e87357785c1031cbeb8447a3b8c324efbb9fa184a678a4f4d9e182a62002d", - "sha256:c82500e0120e648dcd541f785e1c04a35fa9cd61baed5cf3f83e6b6b21667114" + "sha256:0b94faa5251c0f23782c03f7b7eedda91d80144059645f452c4bc80fab875976", + "sha256:f5d5f7b45f98d155b9c0ba6554fa9770c6b26d5793a3e77a1030fb56910ebeec" ], "markers": "python_version >= '3.6'", - "version": "==0.0.3" + "version": "==0.0.7" }, "src": { "editable": true, @@ -1039,11 +1007,11 @@ }, "terminado": { "hashes": [ - "sha256:3da72a155b807b01c9e8a5babd214e052a0a45a975751da3521a1c3381ce6d76", - "sha256:c55f025beb06c2e2669f7ba5a04f47bb3304c30c05842d4981d8f0fc9ab3b4e3" + "sha256:23a053e06b22711269563c8bb96b36a036a86be8b5353e85e804f89b84aaa23f", + "sha256:89e6d94b19e4bc9dce0ffd908dfaf55cc78a9bf735934e915a4a96f65ac9704c" ], "markers": "python_version >= '3.6'", - "version": "==0.9.1" + "version": "==0.9.2" }, "testpath": { "hashes": [ @@ -1109,11 +1077,11 @@ }, "tqdm": { "hashes": [ - "sha256:38b658a3e4ecf9b4f6f8ff75ca16221ae3378b2e175d846b6b33ea3a20852cf5", - "sha256:d4f413aecb61c9779888c64ddf0c62910ad56dcbe857d8922bb505d4dbff0df1" + "sha256:4621f6823bab46a9cc33d48105753ccbea671b68bab2c50a9f0be23d4065cb5a", + "sha256:fe3d08dd00a526850568d542ff9de9bbc2a09a791da3c334f3213d8d0bbbca65" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==4.54.1" + "version": "==4.56.0" }, "traitlets": { "hashes": [ @@ -1138,13 +1106,20 @@ ], "version": "==2.1" }, + "umap-learn": { + "hashes": [ + "sha256:769c50629871384e85e952ad6f7086c49895f0390e1da8d2b2d7c60ad03a0ed0" + ], + "index": "pypi", + "version": "==0.5.0" + }, "urllib3": { "hashes": [ - "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08", - "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473" + "sha256:1b465e494e3e0d8939b50680403e3aedaa2bc434b7d5af64dfd3c958d7f5ae80", + "sha256:de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73" ], - "markers": "python_version != '3.4'", - "version": "==1.26.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", + "version": "==1.26.3" }, "wcwidth": { "hashes": [ @@ -1254,11 +1229,11 @@ }, "bleach": { "hashes": [ - "sha256:52b5919b81842b1854196eaae5ca29679a2f2e378905c346d3ca8227c2c66080", - "sha256:9f8ccbeb6183c6e6cddea37592dfb0167485c1e3b13b3363bc325aa8bda3adbd" + "sha256:2d3b3f7e7d69148bb683b26a3f21eabcf62fa8fb7bc75d0e7a13bcecd9568d4d", + "sha256:c6ad42174219b64848e2e2cd434e44f56cd24a93a9b4f8bc52cfed55a1cd5aad" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==3.2.1" + "version": "==3.2.3" }, "certifi": { "hashes": [ @@ -1310,10 +1285,11 @@ }, "chardet": { "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", + "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" ], - "version": "==3.0.4" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==4.0.0" }, "click": { "hashes": [ @@ -1325,51 +1301,66 @@ }, "colorama": { "hashes": [ - "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff", - "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1" + "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b", + "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2" ], - "markers": "python_version != '3.4'", - "version": "==0.4.3" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.4.4" }, "coverage": { "hashes": [ - "sha256:0203acd33d2298e19b57451ebb0bed0ab0c602e5cf5a818591b4918b1f97d516", - "sha256:0f313707cdecd5cd3e217fc68c78a960b616604b559e9ea60cc16795c4304259", - "sha256:1c6703094c81fa55b816f5ae542c6ffc625fec769f22b053adb42ad712d086c9", - "sha256:1d44bb3a652fed01f1f2c10d5477956116e9b391320c94d36c6bf13b088a1097", - "sha256:280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0", - "sha256:29a6272fec10623fcbe158fdf9abc7a5fa032048ac1d8631f14b50fbfc10d17f", - "sha256:2b31f46bf7b31e6aa690d4c7a3d51bb262438c6dcb0d528adde446531d0d3bb7", - "sha256:2d43af2be93ffbad25dd959899b5b809618a496926146ce98ee0b23683f8c51c", - "sha256:381ead10b9b9af5f64646cd27107fb27b614ee7040bb1226f9c07ba96625cbb5", - "sha256:47a11bdbd8ada9b7ee628596f9d97fbd3851bd9999d398e9436bd67376dbece7", - "sha256:4d6a42744139a7fa5b46a264874a781e8694bb32f1d76d8137b68138686f1729", - "sha256:50691e744714856f03a86df3e2bff847c2acede4c191f9a1da38f088df342978", - "sha256:530cc8aaf11cc2ac7430f3614b04645662ef20c348dce4167c22d99bec3480e9", - "sha256:582ddfbe712025448206a5bc45855d16c2e491c2dd102ee9a2841418ac1c629f", - "sha256:63808c30b41f3bbf65e29f7280bf793c79f54fb807057de7e5238ffc7cc4d7b9", - "sha256:71b69bd716698fa62cd97137d6f2fdf49f534decb23a2c6fc80813e8b7be6822", - "sha256:7858847f2d84bf6e64c7f66498e851c54de8ea06a6f96a32a1d192d846734418", - "sha256:78e93cc3571fd928a39c0b26767c986188a4118edc67bc0695bc7a284da22e82", - "sha256:7f43286f13d91a34fadf61ae252a51a130223c52bfefb50310d5b2deb062cf0f", - "sha256:86e9f8cd4b0cdd57b4ae71a9c186717daa4c5a99f3238a8723f416256e0b064d", - "sha256:8f264ba2701b8c9f815b272ad568d555ef98dfe1576802ab3149c3629a9f2221", - "sha256:9342dd70a1e151684727c9c91ea003b2fb33523bf19385d4554f7897ca0141d4", - "sha256:9361de40701666b034c59ad9e317bae95c973b9ff92513dd0eced11c6adf2e21", - "sha256:9669179786254a2e7e57f0ecf224e978471491d660aaca833f845b72a2df3709", - "sha256:aac1ba0a253e17889550ddb1b60a2063f7474155465577caa2a3b131224cfd54", - "sha256:aef72eae10b5e3116bac6957de1df4d75909fc76d1499a53fb6387434b6bcd8d", - "sha256:bd3166bb3b111e76a4f8e2980fa1addf2920a4ca9b2b8ca36a3bc3dedc618270", - "sha256:c1b78fb9700fc961f53386ad2fd86d87091e06ede5d118b8a50dea285a071c24", - "sha256:c3888a051226e676e383de03bf49eb633cd39fc829516e5334e69b8d81aae751", - "sha256:c5f17ad25d2c1286436761b462e22b5020d83316f8e8fcb5deb2b3151f8f1d3a", - "sha256:c851b35fc078389bc16b915a0a7c1d5923e12e2c5aeec58c52f4aa8085ac8237", - "sha256:cb7df71de0af56000115eafd000b867d1261f786b5eebd88a0ca6360cccfaca7", - "sha256:cedb2f9e1f990918ea061f28a0f0077a07702e3819602d3507e2ff98c8d20636", - "sha256:e8caf961e1b1a945db76f1b5fa9c91498d15f545ac0ababbe575cfab185d3bd8" + "sha256:03ed2a641e412e42cc35c244508cf186015c217f0e4d496bf6d7078ebe837ae7", + "sha256:04b14e45d6a8e159c9767ae57ecb34563ad93440fc1b26516a89ceb5b33c1ad5", + "sha256:0cdde51bfcf6b6bd862ee9be324521ec619b20590787d1655d005c3fb175005f", + "sha256:0f48fc7dc82ee14aeaedb986e175a429d24129b7eada1b7e94a864e4f0644dde", + "sha256:107d327071061fd4f4a2587d14c389a27e4e5c93c7cba5f1f59987181903902f", + "sha256:1375bb8b88cb050a2d4e0da901001347a44302aeadb8ceb4b6e5aa373b8ea68f", + "sha256:14a9f1887591684fb59fdba8feef7123a0da2424b0652e1b58dd5b9a7bb1188c", + "sha256:16baa799ec09cc0dcb43a10680573269d407c159325972dd7114ee7649e56c66", + "sha256:1b811662ecf72eb2d08872731636aee6559cae21862c36f74703be727b45df90", + "sha256:1ccae21a076d3d5f471700f6d30eb486da1626c380b23c70ae32ab823e453337", + "sha256:2f2cf7a42d4b7654c9a67b9d091ec24374f7c58794858bff632a2039cb15984d", + "sha256:322549b880b2d746a7672bf6ff9ed3f895e9c9f108b714e7360292aa5c5d7cf4", + "sha256:32ab83016c24c5cf3db2943286b85b0a172dae08c58d0f53875235219b676409", + "sha256:3fe50f1cac369b02d34ad904dfe0771acc483f82a1b54c5e93632916ba847b37", + "sha256:4a780807e80479f281d47ee4af2eb2df3e4ccf4723484f77da0bb49d027e40a1", + "sha256:4a8eb7785bd23565b542b01fb39115a975fefb4a82f23d407503eee2c0106247", + "sha256:5bee3970617b3d74759b2d2df2f6a327d372f9732f9ccbf03fa591b5f7581e39", + "sha256:60a3307a84ec60578accd35d7f0c71a3a971430ed7eca6567399d2b50ef37b8c", + "sha256:6625e52b6f346a283c3d563d1fd8bae8956daafc64bb5bbd2b8f8a07608e3994", + "sha256:66a5aae8233d766a877c5ef293ec5ab9520929c2578fd2069308a98b7374ea8c", + "sha256:68fb816a5dd901c6aff352ce49e2a0ffadacdf9b6fae282a69e7a16a02dad5fb", + "sha256:6b588b5cf51dc0fd1c9e19f622457cc74b7d26fe295432e434525f1c0fae02bc", + "sha256:6c4d7165a4e8f41eca6b990c12ee7f44fef3932fac48ca32cecb3a1b2223c21f", + "sha256:6d2e262e5e8da6fa56e774fb8e2643417351427604c2b177f8e8c5f75fc928ca", + "sha256:6d9c88b787638a451f41f97446a1c9fd416e669b4d9717ae4615bd29de1ac135", + "sha256:755c56beeacac6a24c8e1074f89f34f4373abce8b662470d3aa719ae304931f3", + "sha256:7e40d3f8eb472c1509b12ac2a7e24158ec352fc8567b77ab02c0db053927e339", + "sha256:812eaf4939ef2284d29653bcfee9665f11f013724f07258928f849a2306ea9f9", + "sha256:84df004223fd0550d0ea7a37882e5c889f3c6d45535c639ce9802293b39cd5c9", + "sha256:859f0add98707b182b4867359e12bde806b82483fb12a9ae868a77880fc3b7af", + "sha256:87c4b38288f71acd2106f5d94f575bc2136ea2887fdb5dfe18003c881fa6b370", + "sha256:89fc12c6371bf963809abc46cced4a01ca4f99cba17be5e7d416ed7ef1245d19", + "sha256:9564ac7eb1652c3701ac691ca72934dd3009997c81266807aef924012df2f4b3", + "sha256:9754a5c265f991317de2bac0c70a746efc2b695cf4d49f5d2cddeac36544fb44", + "sha256:a565f48c4aae72d1d3d3f8e8fb7218f5609c964e9c6f68604608e5958b9c60c3", + "sha256:a636160680c6e526b84f85d304e2f0bb4e94f8284dd765a1911de9a40450b10a", + "sha256:a839e25f07e428a87d17d857d9935dd743130e77ff46524abb992b962eb2076c", + "sha256:b62046592b44263fa7570f1117d372ae3f310222af1fc1407416f037fb3af21b", + "sha256:b7f7421841f8db443855d2854e25914a79a1ff48ae92f70d0a5c2f8907ab98c9", + "sha256:ba7ca81b6d60a9f7a0b4b4e175dcc38e8fef4992673d9d6e6879fd6de00dd9b8", + "sha256:bb32ca14b4d04e172c541c69eec5f385f9a075b38fb22d765d8b0ce3af3a0c22", + "sha256:c0ff1c1b4d13e2240821ef23c1efb1f009207cb3f56e16986f713c2b0e7cd37f", + "sha256:c669b440ce46ae3abe9b2d44a913b5fd86bb19eb14a8701e88e3918902ecd345", + "sha256:c67734cff78383a1f23ceba3b3239c7deefc62ac2b05fa6a47bcd565771e5880", + "sha256:c6809ebcbf6c1049002b9ac09c127ae43929042ec1f1dbd8bb1615f7cd9f70a0", + "sha256:cd601187476c6bed26a0398353212684c427e10a903aeafa6da40c63309d438b", + "sha256:ebfa374067af240d079ef97b8064478f3bf71038b78b017eb6ec93ede1b6bcec", + "sha256:fbb17c0d0822684b7d6c09915677a32319f16ff1115df5ec05bdcaaee40b35f3", + "sha256:fff1f3a586246110f34dc762098b5afd2de88de507559e63553d7da643053786" ], "index": "pypi", - "version": "==5.3" + "version": "==5.4" }, "dataclasses": { "hashes": [ @@ -1396,12 +1387,11 @@ }, "docutils": { "hashes": [ - "sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0", - "sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827", - "sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99" + "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af", + "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.15.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.16" }, "entrypoints": { "hashes": [ @@ -1429,11 +1419,11 @@ }, "gitpython": { "hashes": [ - "sha256:6eea89b655917b500437e9668e4a12eabdcf00229a0df1762aabd692ef9b746b", - "sha256:befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8" + "sha256:42dbefd8d9e2576c496ed0059f3103dcef7125b9ce16f9d5f9c834aed44a1dac", + "sha256:867ec3dfb126aac0f8296b19fb63b8c4a399f32b4b6fafe84c4b10af5fa9f7b5" ], "markers": "python_version >= '3.4'", - "version": "==3.1.11" + "version": "==3.1.12" }, "idna": { "hashes": [ @@ -1453,19 +1443,19 @@ }, "importlib-metadata": { "hashes": [ - "sha256:5c5a2720817414a6c41f0a49993908068243ae02c1635a228126519b509c8aed", - "sha256:bf792d480abbd5eda85794e4afb09dd538393f7d6e6ffef6e9f03d2014cf9450" + "sha256:ace61d5fc652dc280e7b6b4ff732a9c2d40db2c0f92bc6cb74e07b73d53a1771", + "sha256:fa5daa4477a7414ae34e95942e4dd07f62adf589143c875c133c1e53c4eff38d" ], "markers": "python_version < '3.8'", - "version": "==3.3.0" + "version": "==3.4.0" }, "ipykernel": { "hashes": [ - "sha256:63b4b96c513e1138874934e3e783a8e5e13c02b9036e37107bfe042ac8955005", - "sha256:e20ceb7e52cb4d250452e1230be76e0b2323f33bd46c6b2bc7abb6601740e182" + "sha256:4ed205700001a83b5832d4821c46a5733f1bf4b1c55744314ae3c756be6b6095", + "sha256:697103d218e9a8828025af7986e033c89e0b36e2b6eb84a5bda4739b9a27f3cb" ], "markers": "python_version >= '3.5'", - "version": "==5.4.2" + "version": "==5.4.3" }, "ipython": { "hashes": [ @@ -1484,11 +1474,11 @@ }, "jedi": { "hashes": [ - "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20", - "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5" + "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93", + "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.17.2" + "markers": "python_version >= '3.6'", + "version": "==0.18.0" }, "jinja2": { "hashes": [ @@ -1507,11 +1497,11 @@ }, "jupyter-client": { "hashes": [ - "sha256:49e390b36fe4b4226724704ea28d9fb903f1a3601b6882ce3105221cd09377a1", - "sha256:c958d24d6eacb975c1acebb68ac9077da61b5f5c040f22f6849928ad7393b950" + "sha256:5eaaa41df449167ebba5e1cf6ca9b31f7fd4f71625069836e2e4fee07fe3cb13", + "sha256:649ca3aca1e28f27d73ef15868a7c7f10d6e70f761514582accec3ca6bb13085" ], "markers": "python_version >= '3.5'", - "version": "==6.1.7" + "version": "==6.1.11" }, "jupyter-core": { "hashes": [ @@ -1614,11 +1604,11 @@ }, "nbformat": { "hashes": [ - "sha256:aa9450c16d29286dc69b92ea4913c1bffe86488f90184445996ccc03a2f60382", - "sha256:f545b22138865bfbcc6b1ffe89ed5a2b8e2dc5d4fe876f2ca60d8e6f702a30f8" + "sha256:1d223e64a18bfa7cdf2db2e9ba8a818312fc2a0701d2e910b58df66809385a56", + "sha256:3949fdc8f5fa0b1afca16fb307546e78494fa7a7bceff880df8168eafda0e7ac" ], "markers": "python_version >= '3.5'", - "version": "==5.0.8" + "version": "==5.1.2" }, "nest-asyncio": { "hashes": [ @@ -1630,11 +1620,11 @@ }, "notebook": { "hashes": [ - "sha256:3db37ae834c5f3b6378381229d0e5dfcbfb558d08c8ce646b1ad355147f5e91d", - "sha256:508cf9dad7cdb3188f1aa27017dc78179029dfe83814fc505329f689bc2ab50f" + "sha256:0464b28e18e7a06cec37e6177546c2322739be07962dd13bf712bcb88361f013", + "sha256:25ad93c982b623441b491e693ef400598d1a46cdf11b8c9c0b3be6c61ebbb6cd" ], "markers": "python_version >= '3.5'", - "version": "==6.1.5" + "version": "==6.2.0" }, "packaging": { "hashes": [ @@ -1652,11 +1642,11 @@ }, "parso": { "hashes": [ - "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea", - "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9" + "sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410", + "sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.7.1" + "markers": "python_version >= '3.6'", + "version": "==0.8.1" }, "pathspec": { "hashes": [ @@ -1689,19 +1679,19 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:25c95d2ac813909f813c93fde734b6e44406d1477a9faef7c915ff37d39c0a8c", - "sha256:7debb9a521e0b1ee7d2fe96ee4bd60ef03c6492784de0547337ca4433e46aa63" + "sha256:7e966747c18ececaec785699626b771c1ba8344c8d31759a1915d6b12fad6525", + "sha256:c96b30925025a7635471dc083ffb6af0cc67482a00611bd81aeaeeeb7e5a5e12" ], "markers": "python_full_version >= '3.6.1'", - "version": "==3.0.8" + "version": "==3.0.14" }, "ptyprocess": { "hashes": [ - "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", - "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" + "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", + "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" ], "markers": "os_name != 'nt'", - "version": "==0.6.0" + "version": "==0.7.0" }, "pycodestyle": { "hashes": [ @@ -1729,18 +1719,18 @@ }, "pygments": { "hashes": [ - "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716", - "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08" + "sha256:bc9591213a8f0e0ca1a5e68a479b4887fdc3e75d0774e5c71c31920c427de435", + "sha256:df49d09b498e83c1a73128295860250b0b7edd4c723a32e9bc0d295c7c2ec337" ], "markers": "python_version >= '3.5'", - "version": "==2.7.3" + "version": "==2.7.4" }, "pyparsing": { "hashes": [ "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.4.7" }, "pyrsistent": { @@ -1755,50 +1745,49 @@ "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.8.1" }, "pytz": { "hashes": [ - "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268", - "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd" + "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", + "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5" ], - "version": "==2020.4" + "version": "==2020.5" }, "pyzmq": { "hashes": [ - "sha256:03638e46d486dd1c118e03c8bf9c634bdcae679600eac6573ae1e54906de7c2f", - "sha256:0af84f34f27b5c6a0e906c648bdf46d4caebf9c8e6e16db0728f30a58141cad6", - "sha256:0e554fd390021edbe0330b67226325a820b0319c5b45e1b0a59bf22ccc36e793", - "sha256:1e9b75a119606732023a305d1c214146c09a91f8116f6aff3e8b7d0a60b6f0ff", - "sha256:225774a48ed7414c0395335e7123ef8c418dbcbe172caabdc2496133b03254c2", - "sha256:2742e380d186673eee6a570ef83d4568741945434ba36d92b98d36cdbfedbd44", - "sha256:309d763d89ec1845c0e0fa14e1fb6558fd8c9ef05ed32baec27d7a8499cc7bb0", - "sha256:46250789730489009fe139cbf576679557c070a6a3628077d09a4153d52fd381", - "sha256:4d9259a5eb3f71abbaf61f165cacf42240bfeea3783bebd8255341abdfe206f1", - "sha256:523d542823cabb94065178090e05347bd204365f6e7cb260f0071c995d392fc2", - "sha256:53706f4a792cdae422121fb6a5e65119bad02373153364fc9d004cf6a90394de", - "sha256:5efe02bdcc5eafcac0aab531292294298f0ab8d28ed43be9e507d0e09173d1a4", - "sha256:63ee08e35be72fdd7568065a249a5b5cf51a2e8ab6ee63cf9f73786fcb9e710b", - "sha256:6e24907857c80dc67692e31f5bf3ad5bf483ee0142cec95b3d47e2db8c43bdda", - "sha256:7113eb93dcd0a5750c65d123ed0099e036a3a3f2dcb48afedd025ffa125c983b", - "sha256:824ad5888331aadeac772bce27e1c2fbcab82fade92edbd234542c4e12f0dca9", - "sha256:895695be380f0f85d2e3ec5ccf68a93c92d45bd298567525ad5633071589872c", - "sha256:b62113eeb9a0649cebed9b21fd578f3a0175ef214a2a91dcb7b31bbf55805295", - "sha256:bc7dd697356b31389d5118b9bcdef3e8d8079e8181800c4e8d72dccd56e1ff68", - "sha256:bf755905a7d30d2749079611b9a89924c1f2da2695dc09ce221f42122c9808e3", - "sha256:c63fafd2556d218368c51d18588f8e6f8d86d09d493032415057faf6de869b34", - "sha256:c95dda497a7c1b1e734b5e8353173ca5dd7b67784d8821d13413a97856588057", - "sha256:cc09c5cd1a4332611c8564d65e6a432dc6db3e10793d0254da9fa1e31d9ffd6d", - "sha256:cfa54a162a7b32641665e99b2c12084555afe9fc8fe80ec8b2f71a57320d10e1", - "sha256:d81184489369ec325bd50ba1c935361e63f31f578430b9ad95471899361a8253", - "sha256:d92c7f41a53ece82b91703ea433c7d34143248cf0cead33aa11c5fc621c764bf", - "sha256:dc2f48b575dff6edefd572f1ac84cf0c3f18ad5fcf13384de32df740a010594a", - "sha256:f0beef935efe78a63c785bb21ed56c1c24448511383e3994927c8bb2caf5e714", - "sha256:f110a4d3f8f01209eec304ed542f6c8054cce9b0f16dfe3d571e57c290e4e133" + "sha256:082abbb95936f7475cee098153191058350878e33b8fb1dbefc82264978297e4", + "sha256:098c13c6198913c2a0690235fa74d2e49161755f66b663beaec89651554cc79c", + "sha256:0a6890d626b4f95f276a2381aea8d3435bb25ef7a2735bbc74966b105b09e758", + "sha256:42ddd761ac71dd7a386849bceffdcf4f35798caf844b762693456fc55c19c721", + "sha256:43df5e2fe06e03f41649a48e6339045fe8c68feaedef700a54440551f0ba94a3", + "sha256:46ff042f883bb22242ba5a3817fbcb2ff0cc0990827b8f925d49c176b1cb7394", + "sha256:4a70ef4e3835333e020c697ebfe3e6be172dd4ef8fe19ad047cd88678c1259c5", + "sha256:530ee5571bea541ff68c6e92819a0da0bdab9457c9b637b6c142c267c02a799e", + "sha256:544963322b1cb650de3d2f45d81bc644e5d9ada6f8f1f5718d9837cda78ee948", + "sha256:62b3c8196b2fa106552b03ed8ea7b91e1047e9a614849c87aea468f0caac4076", + "sha256:664f075d38869c6117507193ae3f3d5319491900f11b344030345c11d74863f2", + "sha256:68f8120ba7ec704d5acfabdcd1328c37806d8a23e1688a7ae3f59193c3cd46e3", + "sha256:71ff9975f23a78c14a303bf4efd8b8924830a170a8eabcffff7f5e5a5b583b9e", + "sha256:7307f6efb568a20bb56662041555d08aa2cbc71df91638344b6a088c10b44da7", + "sha256:82f59dbbdc47987f7ce0daea4d6ee21059ab9d5896bd8110215736c62762cc7f", + "sha256:84ccd4d9f8839353278480d1f06372f5fd149abcb7621f85c4ebe0924acbd110", + "sha256:8b984feb536152009e2dc306140ec47f88dd85922063d9e9e8b07f4ff5a0832a", + "sha256:a0d3aaff782ee1d423e90604c2abe4e573062e9a2008b27c01c86d94f94dbfa7", + "sha256:a3da3d5a66545fa127ad12784babd78859656e0c9614324d40c72d4210aa5bbe", + "sha256:b4b7e6edea41257562e9d4b28e717ee04ef078720d46ddb4c2241b9b60dbecc2", + "sha256:b7f471ecead3c4b3c88d00eeff5d78f2b2a6a9f56dd33aa96620019d83fcc3dd", + "sha256:c34ec0218319f7a78b15315038125d08ab0b37ff1fe2ce002e70b7aafe1423cf", + "sha256:d91cbc637a34e1a72ebc47da8bf21a2e6c5e386d1b04143c07c8082258e9b430", + "sha256:dbccca5b77162f610727b664804216674b1974a7a65e03a6ed638a9434cdf2b2", + "sha256:efd3685579d93f01a742827d4d364df6a3c08df25e14ea091828e3f77d054f19", + "sha256:f91a6dd45678fa6bac889267328ed9cfec56e2adeab7af2dddfa8c7e9dab24de", + "sha256:fcb790ff9df5d85d059069a7847f5696ec9296b719ed3e7e675a61a7af390e2f", + "sha256:fe714a0aeee5d5f230cb67af8e584f243adce63f32e81519dd80f605d036feea" ], - "markers": "python_version >= '3.5'", - "version": "==20.0.0" + "markers": "python_version >= '3.6'", + "version": "==21.0.2" }, "regex": { "hashes": [ @@ -1848,11 +1837,11 @@ }, "requests": { "hashes": [ - "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8", - "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998" + "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", + "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.25.0" + "version": "==2.25.1" }, "send2trash": { "hashes": [ @@ -1866,31 +1855,31 @@ "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==1.15.0" }, "smmap": { "hashes": [ - "sha256:54c44c197c819d5ef1991799a7e30b662d1e520f2ac75c9efbeb54a742214cf4", - "sha256:9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24" + "sha256:7bfcf367828031dc893530a29cb35eb8c8f2d7c8f2d0989354d75d24c8573714", + "sha256:84c2751ef3072d4f6b2785ec7ee40244c6f45eb934d9e543e2c51f1bd3d54c50" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==3.0.4" + "version": "==3.0.5" }, "snowballstemmer": { "hashes": [ - "sha256:209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0", - "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52" + "sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2", + "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914" ], - "version": "==2.0.0" + "version": "==2.1.0" }, "sphinx": { "hashes": [ - "sha256:1e8d592225447104d1172be415bc2972bd1357e3e12fdc76edf2261105db4300", - "sha256:d4e59ad4ea55efbb3c05cde3bfc83bfc14f0c95aa95c3d75346fcce186a47960" + "sha256:41cad293f954f7d37f803d97eb184158cfd90f51195131e94875bc07cd08b93c", + "sha256:c314c857e7cd47c856d2c5adff514ac2e6495f8b8e0f886a8a37e9305dfea0d8" ], "index": "pypi", - "version": "==3.3.1" + "version": "==3.4.3" }, "sphinxcontrib-applehelp": { "hashes": [ @@ -1942,11 +1931,11 @@ }, "terminado": { "hashes": [ - "sha256:3da72a155b807b01c9e8a5babd214e052a0a45a975751da3521a1c3381ce6d76", - "sha256:c55f025beb06c2e2669f7ba5a04f47bb3304c30c05842d4981d8f0fc9ab3b4e3" + "sha256:23a053e06b22711269563c8bb96b36a036a86be8b5353e85e804f89b84aaa23f", + "sha256:89e6d94b19e4bc9dce0ffd908dfaf55cc78a9bf735934e915a4a96f65ac9704c" ], "markers": "python_version >= '3.6'", - "version": "==0.9.1" + "version": "==0.9.2" }, "testpath": { "hashes": [ @@ -1960,7 +1949,7 @@ "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==0.10.2" }, "tornado": { @@ -2019,38 +2008,38 @@ }, "typed-ast": { "hashes": [ - "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355", - "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919", - "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d", - "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa", - "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652", - "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75", - "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c", - "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01", - "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d", - "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1", - "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907", - "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c", - "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3", - "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d", - "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b", - "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614", - "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c", - "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb", - "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395", - "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b", - "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41", - "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6", - "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34", - "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe", - "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072", - "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298", - "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91", - "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4", - "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f", - "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7" - ], - "version": "==1.4.1" + "sha256:07d49388d5bf7e863f7fa2f124b1b1d89d8aa0e2f7812faff0a5658c01c59aa1", + "sha256:14bf1522cdee369e8f5581238edac09150c765ec1cb33615855889cf33dcb92d", + "sha256:240296b27397e4e37874abb1df2a608a92df85cf3e2a04d0d4d61055c8305ba6", + "sha256:36d829b31ab67d6fcb30e185ec996e1f72b892255a745d3a82138c97d21ed1cd", + "sha256:37f48d46d733d57cc70fd5f30572d11ab8ed92da6e6b28e024e4a3edfb456e37", + "sha256:4c790331247081ea7c632a76d5b2a265e6d325ecd3179d06e9cf8d46d90dd151", + "sha256:5dcfc2e264bd8a1db8b11a892bd1647154ce03eeba94b461effe68790d8b8e07", + "sha256:7147e2a76c75f0f64c4319886e7639e490fee87c9d25cb1d4faef1d8cf83a440", + "sha256:7703620125e4fb79b64aa52427ec192822e9f45d37d4b6625ab37ef403e1df70", + "sha256:8368f83e93c7156ccd40e49a783a6a6850ca25b556c0fa0240ed0f659d2fe496", + "sha256:84aa6223d71012c68d577c83f4e7db50d11d6b1399a9c779046d75e24bed74ea", + "sha256:85f95aa97a35bdb2f2f7d10ec5bbdac0aeb9dafdaf88e17492da0504de2e6400", + "sha256:8db0e856712f79c45956da0c9a40ca4246abc3485ae0d7ecc86a20f5e4c09abc", + "sha256:9044ef2df88d7f33692ae3f18d3be63dec69c4fb1b5a4a9ac950f9b4ba571606", + "sha256:963c80b583b0661918718b095e02303d8078950b26cc00b5e5ea9ababe0de1fc", + "sha256:987f15737aba2ab5f3928c617ccf1ce412e2e321c77ab16ca5a293e7bbffd581", + "sha256:9ec45db0c766f196ae629e509f059ff05fc3148f9ffd28f3cfe75d4afb485412", + "sha256:9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a", + "sha256:a2c927c49f2029291fbabd673d51a2180038f8cd5a5b2f290f78c4516be48be2", + "sha256:a38878a223bdd37c9709d07cd357bb79f4c760b29210e14ad0fb395294583787", + "sha256:b4fcdcfa302538f70929eb7b392f536a237cbe2ed9cba88e3bf5027b39f5f77f", + "sha256:c0c74e5579af4b977c8b932f40a5464764b2f86681327410aa028a22d2f54937", + "sha256:c1c876fd795b36126f773db9cbb393f19808edd2637e00fd6caba0e25f2c7b64", + "sha256:c9aadc4924d4b5799112837b226160428524a9a45f830e0d0f184b19e4090487", + "sha256:cc7b98bf58167b7f2db91a4327da24fb93368838eb84a44c472283778fc2446b", + "sha256:cf54cfa843f297991b7388c281cb3855d911137223c6b6d2dd82a47ae5125a41", + "sha256:d003156bb6a59cda9050e983441b7fa2487f7800d76bdc065566b7d728b4581a", + "sha256:d175297e9533d8d37437abc14e8a83cbc68af93cc9c1c59c2c292ec59a0697a3", + "sha256:d746a437cdbca200622385305aedd9aef68e8a645e385cc483bdc5e488f07166", + "sha256:e683e409e5c45d5c9082dc1daf13f6374300806240719f95dc783d1fc942af10" + ], + "version": "==1.4.2" }, "typing-extensions": { "hashes": [ @@ -2063,11 +2052,11 @@ }, "urllib3": { "hashes": [ - "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08", - "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473" + "sha256:1b465e494e3e0d8939b50680403e3aedaa2bc434b7d5af64dfd3c958d7f5ae80", + "sha256:de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73" ], - "markers": "python_version != '3.4'", - "version": "==1.26.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", + "version": "==1.26.3" }, "wcwidth": { "hashes": [ diff --git a/data/processed/clusters_df_20201203.parquet b/data/processed/clusters_df_20201203.parquet new file mode 100644 index 0000000..397627a Binary files /dev/null and b/data/processed/clusters_df_20201203.parquet differ diff --git a/data/processed/clusters_symptoms_df_20201203.parquet b/data/processed/clusters_symptoms_df_20201203.parquet new file mode 100644 index 0000000..2c3c9e2 Binary files /dev/null and b/data/processed/clusters_symptoms_df_20201203.parquet differ diff --git a/data/processed/diagnoses_df_20201203.parquet b/data/processed/diagnoses_df_20201203.parquet new file mode 100644 index 0000000..c92984a Binary files /dev/null and b/data/processed/diagnoses_df_20201203.parquet differ diff --git a/notebooks/stage/diagnosis-discovery-demo.ipynb b/notebooks/stage/diagnosis-discovery-demo.ipynb new file mode 100644 index 0000000..04c0bc9 --- /dev/null +++ b/notebooks/stage/diagnosis-discovery-demo.ipynb @@ -0,0 +1,18423 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Potential Diagnosis Discovery\n", + "\n", + "The CCX team at Red Hat defines a **symptom** as a piece of health data reported by an OpenShift deployment, that could indicate there is something wrong with that deployment. Examples of symptoms include alerts, failing operators, pre-defined rules being triggered, etc. A particular combination of symptoms which is found to occur in several deployments, and which could be indicative of a specific issue, is called a **potential diagnosis**.\n", + "\n", + "In this notebook, we will investigate the use of machine learning for finding such combinations of symptoms that could be used as potential diagnoses. Broadly speaking, we will first try using clustering to find groups of deployments that show similar symptoms. Then, we will explore frequent pattern mining to find the combinations seen most often in each cluster. Lastly, we will try to determine the \"defining\" symptoms and symptom combinations for deployments in each cluster. These are the results we want to present to subject matter experts as candidates for diagnosis definitions for the problems seen in deployments.\n", + "\n", + "Internally, the data we used for this experiment was that provided by customers' production OpenShift deployments. Since we cannot open source that data (for obvious reasons), in this notebook we will restrict ourselves to use the data collected from CI/CD deployments (which is already publicly accessible). Therefore, the results in this notebook might not accurately portray the effectiveness of this ML approach." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:43:00.862394Z", + "start_time": "2021-01-27T16:43:00.590814Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [], + "source": [ + "# imports\n", + "import copy\n", + "import datetime as dt\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "from umap import UMAP\n", + "from sklearn.cluster import DBSCAN\n", + "\n", + "import mlxtend.frequent_patterns\n", + "\n", + "import plotly\n", + "import plotly.express as px\n", + "from plotly import graph_objects as go\n", + "\n", + "import ipywidgets as widgets\n", + "from ipywidgets import interactive\n", + "from IPython.core.display import display, HTML" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.145675Z", + "start_time": "2021-01-27T16:42:43.142716Z" + }, + "code_folding": [] + }, + "outputs": [], + "source": [ + "# set this to False to just view images inside notebook only\n", + "# set this to True to also save the images them locally\n", + "SAVE_PLOTS = True" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.263937Z", + "start_time": "2021-01-27T16:42:43.147986Z" + }, + "code_folding": [] + }, + "outputs": [], + "source": [ + "# \"tag\" to identify images produced during current run of the notbeook\n", + "IMAGES_TAG = str(int(dt.datetime.now().timestamp()))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.273268Z", + "start_time": "2021-01-27T16:42:43.265948Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [], + "source": [ + "# visualization utils\n", + "def create_hoverinfo(row):\n", + " \"\"\"\n", + " Helper function for labelling data on plotly scatter3d\n", + " For input one-hot encoded row of symptoms, returns a string that is the\n", + " concatenation of the symptoms shown by this deployment, joined by \"
\"\n", + " The \"
\" ensures that only one symptom is displayed per line in the hover info box in plotly\n", + " \"\"\"\n", + " symptomlist = row[row != 0].index.tolist()\n", + " return \"
\".join(sorted(symptomlist))\n", + "\n", + "\n", + "# color scheme\n", + "custom_colors = copy.deepcopy(px.colors.qualitative.Dark24)\n", + "primary = custom_colors[0]\n", + "to_remove = [primary] + [custom_colors[i] for i in [5, 7]]\n", + "for t in to_remove:\n", + " custom_colors.remove(t)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get Symptoms Data from CI/CD Deployments\n", + "\n", + "In this section, we will fetch the symptoms dataset. This is just a table describing which deployments are showing which symptoms. \n", + "\n", + "Internally this dataset is extracted from Kraken Reports, which provide a summary of health and usage status of customer deployments. Since the tools developed by CCX have not been open sourced yet, we won't be using them in this notebook. Instead, we will simply read the sample data that has already been extracted and provided in this repo." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.300109Z", + "start_time": "2021-01-27T16:42:43.275067Z" + }, + "code_folding": [] + }, + "outputs": [], + "source": [ + "# YYYYMMDD string that specifies the date from which we want data\n", + "DATE_PREFIX = \"20201203\"" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.402561Z", + "start_time": "2021-01-27T16:42:43.302231Z" + }, + "code_folding": [ + 0 + ], + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(565, 13)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cluster_idemail_domainsupportmanagedinitial_versioncurrent_versiondesired_versionplatformnetwork_typeinstall_typeetc_objects_countanomaly_scorecurrent_version_maj_min
20020a49e-d3c1-4d30-890e-3c988f03d3cdredhat.comEvalFalse4.7.0-0.ci.test-2020-12-02-234216-ci-op-m3tr842i4.7.0-0.ci.test-2020-12-02-234216-ci-op-m3tr842i4.7.0-0.ci.test-2020-12-02-234216-ci-op-m3tr842iAWSOpenShiftSDNIPI9606.0NaN4.7
2500e8050c-dc82-4a72-80c3-4b535243230fredhat.comEvalFalse4.7.0-0.ci.test-2020-12-02-204557-ci-op-mxf8h1wz4.7.0-0.ci.test-2020-12-02-204557-ci-op-mxf8h1wz4.7.0-0.ci.test-2020-12-02-204557-ci-op-mxf8h1wzGCPOpenShiftSDNIPI569.0NaN4.7
40013895d7-4d77-4522-9d87-fe26a324fdferedhat.comEvalFalse4.7.0-0.ci.test-2020-12-02-091239-ci-op-k21s380c4.7.0-0.ci.test-2020-12-02-091239-ci-op-k21s380c4.7.0-0.ci.test-2020-12-02-091239-ci-op-k21s380cAWSOpenShiftSDNIPI569.0NaN4.7
6301dcac72-145a-4897-928c-dc694c63dbc6redhat.comEvalFalse4.7.0-0.nightly-2020-12-03-0120534.7.0-0.nightly-2020-12-03-0120534.7.0-0.nightly-2020-12-03-012053GCPOpenShiftSDNIPI8329.0NaN4.7
9902e77350-8c29-474d-8515-feb81e6a6877redhat.comEvalFalse4.5.0-0.ci.test-2020-12-03-004835-ci-op-n1p0miw94.5.0-0.ci.test-2020-12-03-004835-ci-op-n1p0miw94.5.0-0.ci.test-2020-12-03-004835-ci-op-n1p0miw9AWSOpenShiftSDNIPI8968.0NaN4.5
\n", + "
" + ], + "text/plain": [ + " cluster_id email_domain support managed \\\n", + "2 0020a49e-d3c1-4d30-890e-3c988f03d3cd redhat.com Eval False \n", + "25 00e8050c-dc82-4a72-80c3-4b535243230f redhat.com Eval False \n", + "40 013895d7-4d77-4522-9d87-fe26a324fdfe redhat.com Eval False \n", + "63 01dcac72-145a-4897-928c-dc694c63dbc6 redhat.com Eval False \n", + "99 02e77350-8c29-474d-8515-feb81e6a6877 redhat.com Eval False \n", + "\n", + " initial_version \\\n", + "2 4.7.0-0.ci.test-2020-12-02-234216-ci-op-m3tr842i \n", + "25 4.7.0-0.ci.test-2020-12-02-204557-ci-op-mxf8h1wz \n", + "40 4.7.0-0.ci.test-2020-12-02-091239-ci-op-k21s380c \n", + "63 4.7.0-0.nightly-2020-12-03-012053 \n", + "99 4.5.0-0.ci.test-2020-12-03-004835-ci-op-n1p0miw9 \n", + "\n", + " current_version \\\n", + "2 4.7.0-0.ci.test-2020-12-02-234216-ci-op-m3tr842i \n", + "25 4.7.0-0.ci.test-2020-12-02-204557-ci-op-mxf8h1wz \n", + "40 4.7.0-0.ci.test-2020-12-02-091239-ci-op-k21s380c \n", + "63 4.7.0-0.nightly-2020-12-03-012053 \n", + "99 4.5.0-0.ci.test-2020-12-03-004835-ci-op-n1p0miw9 \n", + "\n", + " desired_version platform network_type \\\n", + "2 4.7.0-0.ci.test-2020-12-02-234216-ci-op-m3tr842i AWS OpenShiftSDN \n", + "25 4.7.0-0.ci.test-2020-12-02-204557-ci-op-mxf8h1wz GCP OpenShiftSDN \n", + "40 4.7.0-0.ci.test-2020-12-02-091239-ci-op-k21s380c AWS OpenShiftSDN \n", + "63 4.7.0-0.nightly-2020-12-03-012053 GCP OpenShiftSDN \n", + "99 4.5.0-0.ci.test-2020-12-03-004835-ci-op-n1p0miw9 AWS OpenShiftSDN \n", + "\n", + " install_type etc_objects_count anomaly_score current_version_maj_min \n", + "2 IPI 9606.0 NaN 4.7 \n", + "25 IPI 569.0 NaN 4.7 \n", + "40 IPI 569.0 NaN 4.7 \n", + "63 IPI 8329.0 NaN 4.7 \n", + "99 IPI 8968.0 NaN 4.5 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# combine all reports to create clusters df\n", + "clusters_df = pd.read_parquet(\n", + " f\"../../data/processed/clusters_df_{DATE_PREFIX}.parquet\"\n", + ")\n", + "\n", + "print(clusters_df.shape)\n", + "clusters_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**NOTE** When this notebook was run with production deployments data, we had several thousands of clusters per day. However, we have only ~550 ci clusters. So there is a lot less training data." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.423458Z", + "start_time": "2021-01-27T16:42:43.405216Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2314, 2)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cluster_idsymptom_id
210020a49e-d3c1-4d30-890e-3c988f03d3cdalert|AlertmanagerReceiversNotConfigured
16900e8050c-dc82-4a72-80c3-4b535243230frule|operators_check|OPERATOR_ISSUE
17000e8050c-dc82-4a72-80c3-4b535243230falert|AlertmanagerReceiversNotConfigured
17100e8050c-dc82-4a72-80c3-4b535243230ffoc|monitoring|Degraded|UpdatingprometheusAdap...
17200e8050c-dc82-4a72-80c3-4b535243230frule|pods_check_containers|POD_CONTAINER_ISSUE
\n", + "
" + ], + "text/plain": [ + " cluster_id \\\n", + "21 0020a49e-d3c1-4d30-890e-3c988f03d3cd \n", + "169 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "170 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "171 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "172 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "\n", + " symptom_id \n", + "21 alert|AlertmanagerReceiversNotConfigured \n", + "169 rule|operators_check|OPERATOR_ISSUE \n", + "170 alert|AlertmanagerReceiversNotConfigured \n", + "171 foc|monitoring|Degraded|UpdatingprometheusAdap... \n", + "172 rule|pods_check_containers|POD_CONTAINER_ISSUE " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# combine symptoms data collected at all time intervals for the current date\n", + "clusters_symptoms_df = pd.read_parquet(\n", + " f\"../../data/processed/clusters_symptoms_df_{DATE_PREFIX}.parquet\"\n", + ")\n", + "\n", + "print(clusters_symptoms_df.shape)\n", + "clusters_symptoms_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**NOTE** You may notice that some clusters are not included in this df. That is because there are no symptoms recorded for them" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Apply Known Diagnoses\n", + "\n", + "In this section, we will apply the known diagnoses to the symptoms data. That is, for each deployment, check whether the symptoms correspond to the definition of a known diagnosis. If they do, then label the deployment with that particular diagnosis.\n", + "\n", + "By default, the diagnosis definitions used are the ones defined in the \"Symptoms and Diagnoses Walkthrough\" notebook on the kraken repo (see screenshots below). Again, since CCX tools have not been open sourced yet, we will use the labels for the sample data already extracted and provided in this repo.\n", + "\n", + "**NOTE** The diagnosis labels will **_NOT_** be used to train the ML models. Rather, they are here for evaluation and validation purpose, i.e. to compare the output of ML models against human definted diagnoses,." + ] + }, + { + "attachments": { + "Screenshot%20from%202021-01-26%2022-04-35.png": { + "image/png": "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eqRkMhm2b9/+WO5hJ3qc0tPTcebMGej1eqxdu9ZrAZfeSi6XY9OmTV47YQGA999/HxERESgrK/NazgzyT/4w1sTHxyMhIcEuifODbt26BYPBgJSUFPul6g9JS0vDkCFOTjD6iClTpuDll19+bLc19Ub+NiaNGDEC+fn5XrmY2IFjEj1uTz31FIqKinxeNZF+/7Zu3Wqr1u6IRqNBY2MjEhISMGXKlG5/k1FRUSgqKkJ0tH0FSInZbBEBAf47GFPvd/DgQQwfPhzDhg3zdVeIbH766Sfo9XqMHDmy24O1KxobG3HixAlMmDDBa1d1qTPd7r8jSPn872LVjz8yGAwoKirCK6+84rWcX+RdZWVlWLp0KaZOnerZ6jFyC8ck8haOl95z9epVnDp1CpMnT7ZVl/YFY3kNjBdqEfKnN51vTOQmi0UwuERERERERERERO6xWAR+32tmiYiIiIiIiIjokWJwiYiIiIiIiIiI3MbgEhERERERERERuY3BJSIiIiIiIiIichuDS0RERERERERE5DYGl4iIiIiIiIiIyG0MLhERERERERERkdsYXCIiIiIiIiIiIrf5bXDp+vXrOHbsmK+7QURERERERETUp/ltcEkul2P+/PkoKSnxdVeIiIiIiIiIiPosvw0uRUREICkpCevWrfN1V4iIiIiIiIiI+iy/DS4BwFtvvYULFy6grKzM110hIiIiIiIiIuqT/Dq4NGLECERFRaGoqMjXXSEiIiIiIiIi6pP8OrgEALGxsTh9+rSvu0FERERERERE1Cf5fXDp2WefxZUrV2AwGHzdFSIiIiIiIiKiPsfvg0thYWEAAI1G4+OeEBERERERERH1PX4fXDKZTAAAmUzm454QEREREREREfU9fh9c0mg0kEgkthVMRERERERERETkOr8PLlVWVuL5559HYGCgr7tCRERERERERNTn+HVwyWw2o7y8HHFxcb7uChERERERERFRn+TXwaVTp05Bq9UiKSnJ110hIiIiIiIiIuqT/Dq4VFhYiAkTJuCZZ57xdVeIiIiIiIiIiPokvy2RVl1djeLiYuzdu9fXXSEiIiIiIiIi6rMkZrNFBARIfN2Px06n00Gv1yM6OtrXXSEiIiIiIiIi6pMsFuG/wSUiIiIiIiIiIvKMxSL8O+cSERERERERERF5RgZYo0xEREREREREREQ99f9RoXUQ6coVawAAAABJRU5ErkJggg==" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Screenshot%20from%202021-01-26%2022-04-35.png](attachment:Screenshot%20from%202021-01-26%2022-04-35.png)\n", + "Figure: Definition of the \"sdn-issue\" diagnosis" + ] + }, + { + "attachments": { + "Screenshot%20from%202021-01-26%2022-03-41.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Screenshot%20from%202021-01-26%2022-03-41.png](attachment:Screenshot%20from%202021-01-26%2022-03-41.png)\n", + "Figure: Definition of the \"kubelet-down\" diagnosis" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.440921Z", + "start_time": "2021-01-27T16:42:43.425496Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1527, 2)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cluster_idsymptom_id
180020a49e-d3c1-4d30-890e-3c988f03d3cdalert|AlertmanagerReceiversNotConfigured
13800e8050c-dc82-4a72-80c3-4b535243230frule|nodes_requirements_check|NODES_MINIMUM_RE...
13900e8050c-dc82-4a72-80c3-4b535243230ffoc|monitoring|Degraded|UpdatingprometheusAdap...
14000e8050c-dc82-4a72-80c3-4b535243230ffoc|version|Failing|ClusterOperatorDegraded|8c59
14100e8050c-dc82-4a72-80c3-4b535243230ffoc|monitoring|Progressing|RollOutInProgress|f311
\n", + "
" + ], + "text/plain": [ + " cluster_id \\\n", + "18 0020a49e-d3c1-4d30-890e-3c988f03d3cd \n", + "138 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "139 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "140 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "141 00e8050c-dc82-4a72-80c3-4b535243230f \n", + "\n", + " symptom_id \n", + "18 alert|AlertmanagerReceiversNotConfigured \n", + "138 rule|nodes_requirements_check|NODES_MINIMUM_RE... \n", + "139 foc|monitoring|Degraded|UpdatingprometheusAdap... \n", + "140 foc|version|Failing|ClusterOperatorDegraded|8c59 \n", + "141 foc|monitoring|Progressing|RollOutInProgress|f311 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# get known diagnosis labels\n", + "diag_names = [\n", + " \"ignored-symptoms\",\n", + " \"sdn-issue\",\n", + " \"kubelet-down\",\n", + " \"BZ-1821905-DefaultSecurityContextConstraints_Mutated\",\n", + " \"4.3-major-upgrade-autoscaler\",\n", + "]\n", + "diagnoses_df = pd.read_parquet(\n", + " f\"../../data/processed/diagnoses_df_{DATE_PREFIX}.parquet\"\n", + ")\n", + "\n", + "print(diagnoses_df.shape)\n", + "diagnoses_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.455620Z", + "start_time": "2021-01-27T16:42:43.444017Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cluster_idsymptom_id
619034265cb-0256-4a34-8975-fad19d73cf66diagnosis|sdn-issue
34482aacf11ec-249d-4837-a9ac-749913fc4943diagnosis|sdn-issue
34483aacf11ec-249d-4837-a9ac-749913fc4943diagnosis|kubelet-down
36201dcac72-145a-4897-928c-dc694c63dbc6diagnosis|sdn-issue
36301dcac72-145a-4897-928c-dc694c63dbc6diagnosis|kubelet-down
412015d71e6b-ccd9-4b3c-86c9-3f4e36d14499diagnosis|sdn-issue
\n", + "
" + ], + "text/plain": [ + " cluster_id symptom_id\n", + "619 034265cb-0256-4a34-8975-fad19d73cf66 diagnosis|sdn-issue\n", + "34482 aacf11ec-249d-4837-a9ac-749913fc4943 diagnosis|sdn-issue\n", + "34483 aacf11ec-249d-4837-a9ac-749913fc4943 diagnosis|kubelet-down\n", + "362 01dcac72-145a-4897-928c-dc694c63dbc6 diagnosis|sdn-issue\n", + "363 01dcac72-145a-4897-928c-dc694c63dbc6 diagnosis|kubelet-down\n", + "4120 15d71e6b-ccd9-4b3c-86c9-3f4e36d14499 diagnosis|sdn-issue" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# how many ci/cd clusters matched the signature/definition of known diagnoses\n", + "diagnoses_df[diagnoses_df[\"symptom_id\"].str.startswith(\"diagnosis\")]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**NOTE** There are only 4 deployments with known diagnoses. So in addition to not having a ton of training data, we also don't have many labels." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create Training Dataset\n", + "\n", + "In this section, we slice-and-dice the dataset. In the widgets output by the cell below,\n", + "\n", + "**1.** Use the first selection box to select the \"major.minor\" OpenShift version (e.g. `4.3`). This will keep only the deployments from that major.minor version in the dataset.\n", + "\n", + "**2.** Within a major.minor version, you can decide to keep only the deployments from specific patch versions (e.g. `4.3.2` and `4.3.3`). Use the second selection box to select the patch versions (by default, all will be included). Use `Ctrl + click` or `Shift + click` to select multiple.\n", + "\n", + "**3.** Optionally, if you wish to confine the dataset to deployments of a specific customer, use the drop down to select that customer's email domain.\n", + "\n", + "After slicing-dicing, we will change the format in which data is represented from a \"string\" representation to a \"one-hot encoded\" numeric representation. The result will be the final dataset that will be preprocessed and fed to ML models." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.558484Z", + "start_time": "2021-01-27T16:42:43.458336Z" + }, + "code_folding": [ + 0 + ], + "scrolled": true + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "616354b199c44f1da42a54c4097cc183", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(Select(description='Major.Minor', options=('ALL ( 565 depls)', '4.7 ( 385 depls)', '4.6 …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2a16518cd19e4fa9949e466e9c9560ae", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(SelectMultiple(description='Patches', index=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c903e36e98a14fbcb8e7ba41cf0339c8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(Dropdown(description='Email Domain', options=('ALL (565)', 'redhat.com (565 depls)'), v…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# mapping from maj.min to all maj.min.patch\n", + "patches_per_majmin = clusters_df.groupby(\"current_version_maj_min\").apply(\n", + " lambda g: sorted(g[\"current_version\"].unique())\n", + ")\n", + "patches_per_majmin[\"ALL\"] = sorted(clusters_df[\"current_version\"].unique())\n", + "\n", + "# how many depls of each maj.min\n", + "depls_per_majmin = clusters_df[\n", + " clusters_df.cluster_id.isin(clusters_symptoms_df.cluster_id)\n", + "][\"current_version_maj_min\"].value_counts()\n", + "depls_per_majmin[\"ALL\"] = depls_per_majmin.sum()\n", + "\n", + "# add number of dpels info to maj.min names, sort by num depls\n", + "patches_per_majmin = patches_per_majmin.sort_index()\n", + "new_index = [\n", + " \"{0} ({1:4d} depls)\".format(val, ct)\n", + " for val, ct in depls_per_majmin.iteritems()\n", + "]\n", + "patches_per_majmin.index = sorted(new_index)\n", + "\n", + "\n", + "# func needed to ensure both select boxes are displayed\n", + "def do_nothing(dummy_input):\n", + " return\n", + "\n", + "\n", + "# func to update pathces shown based on maj.min selected\n", + "def select_patch_version(maj_min_version):\n", + " maj_min_patch_widget.options = patches_per_majmin[maj_min_version]\n", + " maj_min_patch_widget.value = patches_per_majmin[maj_min_version]\n", + "\n", + "\n", + "# widget to select maj.min, showing in descending order of # depls\n", + "maj_min_widget_options = sorted(\n", + " patches_per_majmin.index,\n", + " key=lambda x: int(x.rsplit(\" \", 1)[0].rsplit(\"(\")[-1]),\n", + " reverse=True,\n", + ")\n", + "maj_min_widget = widgets.Select(\n", + " options=maj_min_widget_options,\n", + " value=maj_min_widget_options[0],\n", + " description=\"Major.Minor\",\n", + ")\n", + "\n", + "# widget to select maj.min.patch, all selected by default\n", + "maj_min_patch_widget = widgets.SelectMultiple(\n", + " options=patches_per_majmin[maj_min_widget.value],\n", + " value=patches_per_majmin[maj_min_widget.value],\n", + " description=\"Patches\",\n", + ")\n", + "\n", + "# emails + count (how many depls of that email domain)\n", + "email_vc = clusters_df[\n", + " clusters_df.cluster_id.isin(clusters_symptoms_df.cluster_id)\n", + "][\"email_domain\"].value_counts()\n", + "emails_with_ct = []\n", + "for i, v in email_vc.items():\n", + " emails_with_ct.append(f\"{i} ({v} depls)\")\n", + "\n", + "# widget to select email domain, all selected by default\n", + "email_widget = widgets.Dropdown(\n", + " options=[f\"ALL ({(email_vc.sum())})\"] + emails_with_ct,\n", + " description=\"Email Domain\",\n", + ")\n", + "\n", + "# display all widgets\n", + "display(interactive(select_patch_version, maj_min_version=maj_min_widget))\n", + "display(interactive(do_nothing, dummy_input=maj_min_patch_widget))\n", + "display(interactive(do_nothing, dummy_input=email_widget))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the next cell, we reformat the data as follows: instead of having one row per (deployment, symptom) pair, we'll have one row per deployment and one column per possible symptom. A value of \"0\" in a column indicates that that deployment (row) does not show that symptom (column) and a value of \"1\" indicates that it does." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.612285Z", + "start_time": "2021-01-27T16:42:43.560165Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The following is a glimpse of the sliced/diced and formatted dataset that will be fed to ML models:\n", + "Shape = (493, 162)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
symptom_idalert|AlertmanagerReceiversNotConfiguredalert|CloudCredentialOperatorDownalert|ClusterAutoscalerOperatorDownalert|ClusterNotUpgradeablealert|FluentdNodeDownalert|KubeAPIDownalert|KubeAPIErrorBudgetBurnalert|KubeAPIErrorsHighalert|KubeClientErrorsalert|KubeControllerManagerDown...rule|nodes_pressure_check|NODE_PRESSURErule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_METrule|ocp_version_end_of_life|OCP4X_BEYOND_EOLrule|operators_check|OPERATOR_ISSUErule|pods_check_containers|POD_CONTAINER_ISSUErule|pods_check|POD_ISSUErule|pods_crash_loop_check|POD_CRASHLOOP_ISSUErule|version_check|CLUSTER_VERSION_MISMATCHrule|version_forced|FORCED_VERSION_UPDATESrule|version_retarget|ABORTED_UPDATES_IN_RECENT_HISTORY
cluster_id
000167dc-b92b-4677-bcb9-28cf8b2eded31.00.00.00.00.00.00.00.00.00.0...0.01.00.00.00.00.00.00.00.00.0
0020a49e-d3c1-4d30-890e-3c988f03d3cd1.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
00e8050c-dc82-4a72-80c3-4b535243230f1.00.00.00.00.00.00.00.01.00.0...0.01.00.01.01.01.00.00.00.00.0
00ecb624-57ad-4f9d-8580-b6e1373c5a450.00.00.00.00.00.00.00.00.00.0...0.00.00.01.00.01.00.00.00.00.0
013895d7-4d77-4522-9d87-fe26a324fdfe1.00.00.00.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
\n", + "

5 rows × 162 columns

\n", + "
" + ], + "text/plain": [ + "symptom_id alert|AlertmanagerReceiversNotConfigured \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 1.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 1.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 1.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 1.0 \n", + "\n", + "symptom_id alert|CloudCredentialOperatorDown \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|ClusterAutoscalerOperatorDown \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|ClusterNotUpgradeable \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|FluentdNodeDown \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|KubeAPIDown \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|KubeAPIErrorBudgetBurn \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|KubeAPIErrorsHigh \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|KubeClientErrors \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 1.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id alert|KubeControllerManagerDown ... \\\n", + "cluster_id ... \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 ... \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 ... \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 ... \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 ... \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 ... \n", + "\n", + "symptom_id rule|nodes_pressure_check|NODE_PRESSURE \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 1.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 1.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|ocp_version_end_of_life|OCP4X_BEYOND_EOL \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|operators_check|OPERATOR_ISSUE \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 1.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 1.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|pods_check_containers|POD_CONTAINER_ISSUE \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 1.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|pods_check|POD_ISSUE \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 1.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 1.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|version_check|CLUSTER_VERSION_MISMATCH \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|version_forced|FORCED_VERSION_UPDATES \\\n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "symptom_id rule|version_retarget|ABORTED_UPDATES_IN_RECENT_HISTORY \n", + "cluster_id \n", + "000167dc-b92b-4677-bcb9-28cf8b2eded3 0.0 \n", + "0020a49e-d3c1-4d30-890e-3c988f03d3cd 0.0 \n", + "00e8050c-dc82-4a72-80c3-4b535243230f 0.0 \n", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45 0.0 \n", + "013895d7-4d77-4522-9d87-fe26a324fdfe 0.0 \n", + "\n", + "[5 rows x 162 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# filter data and pivot so that each row is a deployment\n", + "\n", + "# keep only deployments of selected version\n", + "X_df = clusters_symptoms_df[\n", + " clusters_symptoms_df.cluster_id.isin(\n", + " clusters_df[\"cluster_id\"][\n", + " clusters_df[\"current_version\"].isin(maj_min_patch_widget.value)\n", + " ]\n", + " )\n", + "]\n", + "\n", + "# keep only deployments of selected email\n", + "EMAIL = email_widget.value.split()[0]\n", + "if EMAIL.lower() != \"all\":\n", + " X_df = X_df[\n", + " X_df.cluster_id.isin(\n", + " clusters_df[clusters_df[\"email_domain\"] == EMAIL].cluster_id\n", + " )\n", + " ]\n", + "\n", + "# drop nan rows, if any (ideally shouldnt exist)\n", + "nan_count = X_df.isna().sum().sum()\n", + "if nan_count != 0:\n", + " print(f\"Found {nan_count} nans in filtered X_df\")\n", + " X_df = X_df.dropna()\n", + "\n", + "# ================================ checks for pivot ================================ #\n", + "# def check_pivot(X_df, X_df_new):\n", + "# for n,g in X_df.groupby('cluster_id'):\n", + "# res = X_df_new.loc[n]\n", + "# if not res[res==1].index.difference(g['symptom_id'].values).empty:\n", + "# pdb.set_trace()\n", + "# return False\n", + "# return True\n", + "# pre = X_df['cluster_id'].nunique()\n", + "# ================================================================================== #\n", + "\n", + "# pivot so that each row represents a cluster id, and the columns are the symptoms\n", + "# NOTE: we need a numerical value column for pivot to work. assign value=1 dummy col\n", + "X_df = X_df.assign(value=1).pivot_table(\n", + " index=\"cluster_id\",\n", + " columns=X_df.columns.drop(\"cluster_id\").tolist(),\n", + " values=\"value\",\n", + ")\n", + "\n", + "# ================================ checks for pivot ================================ #\n", + "# post = len(X_df_new)\n", + "# assert pre==post\n", + "# assert check_pivot(X_df, X_df_new)\n", + "# ================================================================================== #\n", + "\n", + "X_df = X_df.fillna(value=0)\n", + "\n", + "# # add UPI/IPI info\n", + "# # NOTE: if there are nans for install_type for some depl ids in clusters_df,\n", + "# # those depl ids would still show up here, but with 0's in is_UPI and is_IPI\n", + "# X_df = X_df.assign(\n", + "# is_UPI=X_df.index.isin(\n", + "# clusters_df[\"cluster_id\"][\n", + "# clusters_df[\"install_type\"] == \"UPI\"\n", + "# ].unique()\n", + "# ).astype(np.float64)\n", + "# )\n", + "# X_df = X_df.assign(\n", + "# is_IPI=X_df.index.isin(\n", + "# clusters_df[\"cluster_id\"][\n", + "# clusters_df[\"install_type\"] == \"IPI\"\n", + "# ].unique()\n", + "# ).astype(np.float64)\n", + "# )\n", + "\n", + "print(\n", + " \"The following is a glimpse of the sliced/diced and formatted dataset that will be fed to ML models:\"\n", + ")\n", + "print(f\"Shape = {X_df.shape}\")\n", + "X_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preprocess Data\n", + "\n", + "The raw one hot encoded dataframe of symptoms has a _lot_ of columns, i.e. it's very high dimensional. Many clustering algorithms perform suboptimally with high dimensional data ([curse of dimensionality](https://en.wikipedia.org/wiki/Curse_of_dimensionality)). Therefore, in this section we will perform dimensionality reduction.\n", + "\n", + "First, we will manually remove some features that are not as relevant for diagnosis discovery as others. Various approaches for feature selection were explored in [this](experimental/diagnosis_discovery_feature_selection_eda.ipynb) notebook. The best results (with customer data, not CI/CD data) were seen when we dropped the features that subject matter experts did not consider very informative.\n", + "\n", + "Next, we'll use the UMAP algorithm to create a 3-d representation of our data. Essentially, UMAP tries to create a low dimension representation in such a way that the \"patterns\" and \"relationships\" that exist in the data are preserved as much as possible. In other words, it should place deployments with similar symptoms close to one another, and those with different symptoms away from one another.\n", + "\n", + "**NOTE**: It's possible that there are better techniques for dimension reduction; UMAP here just serves as an example or a baseline. Exploring other techniques is out of the scope of this notebook (check out [this](https://github.com/chauhankaranraj/ocp4-anomaly-detection-internal/blob/dev/clustering/notebooks/symptoms_clustering_algos.ipynb) notebook for that)." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:43.641019Z", + "start_time": "2021-01-27T16:42:43.614433Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dropping symptoms:\n", + "\n", + "alert|openshift-cluster-version|ClusterOperatorDegraded\n", + "alert|openshift-cluster-version|ClusterOperatorDown\n", + "foc|version|Failing|ClusterOperatorDegraded|007c\n", + "foc|version|Failing|ClusterOperatorDegraded|8c59\n", + "foc|version|Progressing|ClusterOperatorDegraded|4696\n", + "rule|operators_check|OPERATOR_ISSUE\n", + "rule|pods_check|POD_ISSUE\n", + "rule|pods_check_containers|POD_CONTAINER_ISSUE\n", + "alert|AlertmanagerReceiversNotConfigured\n" + ] + }, + { + "data": { + "text/plain": [ + "(382, 153)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# drop columns ccx believes are not very informative\n", + "ignored_symptoms = [\n", + " c\n", + " for c in X_df.columns\n", + " if any(i in c for i in [\"ClusterOperatorDown\", \"ClusterOperatorDegraded\"])\n", + "]\n", + "ignored_symptoms += [\n", + " \"rule|operators_check|OPERATOR_ISSUE\",\n", + " \"rule|pods_check|POD_ISSUE\",\n", + " \"rule|pods_check_containers|POD_CONTAINER_ISSUE\",\n", + "]\n", + "ignored_symptoms += [\"alert|AlertmanagerReceiversNotConfigured\"]\n", + "\n", + "print(\"Dropping symptoms:\\n\")\n", + "for i in ignored_symptoms:\n", + " print(i)\n", + "X_df = X_df.drop(ignored_symptoms, axis=1)\n", + "\n", + "# drop rows that are all 0s coz no useful data\n", + "X_df = X_df[X_df.sum(axis=1) != 0]\n", + "X_df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:55.588271Z", + "start_time": "2021-01-27T16:42:43.643014Z" + }, + "code_folding": [], + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/app-root/lib/python3.6/site-packages/umap/umap_.py:1530: UserWarning:\n", + "\n", + "gradient function is not yet implemented for hamming distance metric; inverse_transform will be unavailable\n", + "\n" + ] + } + ], + "source": [ + "# define umap instance\n", + "umap_instance = UMAP(\n", + " n_components=3,\n", + " metric=\"hamming\",\n", + " n_neighbors=64,\n", + " min_dist=0.005,\n", + " random_state=42,\n", + ")\n", + "\n", + "# fit umap to our data and transform (reduce dimensions) the data using it\n", + "X_df_trans = umap_instance.fit_transform(X_df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Visualize\n", + "\n", + "Visualizing the data will help us see any patterns or properties in the data. It could also give us a rough idea (based on the structure/layout of our dimension reduced data) on how well could any clustering algorithm possibly perform." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.411514Z", + "start_time": "2021-01-27T16:42:55.590337Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving plot as '../../reports/figures_symptoms_hamming_all_diagnoses_20201203_1611765763.html'\n" + ] + }, + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "customdata": [ + "000167dc-b92b-4677-bcb9-28cf8b2eded3", + "00e8050c-dc82-4a72-80c3-4b535243230f", + "00ecb624-57ad-4f9d-8580-b6e1373c5a45", + "013895d7-4d77-4522-9d87-fe26a324fdfe", + "01427d31-d077-4f59-baae-f6eb3709d97b", + "017661cd-de64-4352-8ffe-e70b69965027", + "017d9336-b042-4e7d-a718-c5e2ed3d44a3", + "01dcac72-145a-4897-928c-dc694c63dbc6", + "01e6753c-206e-4295-97a0-b58627a38f03", + "022d5393-3557-44b7-820b-0e6a657a70be", + "02a78a9b-5460-4570-af0a-e3237c4237c1", + "02dee447-86cb-4ff6-a7c0-78560724b6b8", + "02e77350-8c29-474d-8515-feb81e6a6877", + "03022f48-21ae-45d8-a35d-796e075c4c24", + "034265cb-0256-4a34-8975-fad19d73cf66", + "036fd0c4-fdc1-4675-bbfe-3c5c3a7aff15", + "04197076-def0-4377-ac12-19ca9ad14a54", + "04d9e7a0-d723-4b8c-b2de-d4d805402279", + "0625c051-b467-428f-b349-898a76e34d07", + "067f23cf-43aa-4738-9309-3b07aa80a92d", + "06f1b300-3ac4-443e-95d7-ca7e406168a1", + "075253f0-1284-49d1-b240-cf341df5e4c3", + "077bde34-64aa-439b-ab11-e7bb074765ac", + "07ab669f-ecd3-4dcb-abf7-61bd7b5497ea", + "07cba83d-3b93-4e04-94ad-27e5d792ce77", + "07fe1099-84e0-47ba-bf4a-d97d55f18d93", + "0801286f-2bbd-4133-9617-cebdff248040", + "0926aa4a-13a2-476a-9113-5d55f34018e8", + "09302ee7-4513-4875-86f5-535fd09fab30", + "0a047c03-6611-4b11-9658-b56a89390dc4", + "0a0b8963-0e2b-4945-ad04-bf339047623d", + "0a3e106c-6768-487d-be2d-39b057313c2e", + "0ae3600a-8ad0-4960-a1e9-fd02a11c93f0", + "0b9820fb-3194-4d90-b4a2-ba9d9dbc72a6", + "0bb28b9b-79b5-4446-b534-43ac59ff1481", + "0c5503fa-1a30-4c48-b396-4fc7127893d2", + "0d81dfad-1549-4e35-bcb0-1e116995e0a0", + "0e50f47c-2f1b-46a5-850c-a3355288cea1", + "0ed72f1a-2922-42c9-873c-cd1fb0a96514", + "10f057b7-16e1-4e41-a96b-52d74a4b036b", + "1131ee6a-71a4-46b8-8138-fdd489d7cfe0", + "11445743-a545-4f7b-980a-2b462bf67dd4", + "117502d2-10ac-451a-bedc-dfee53f00e6a", + "118739a8-9d86-43c9-a3c5-41a81742ad89", + "11c7bcc5-b71e-4580-ab99-7e42022336a1", + "12ba5926-55ec-4c19-bf22-9103dc22d636", + "131bbca2-2acb-4d10-bbf2-f4cf508009f6", + "13667454-68b7-449f-81bc-367f0d40ce0c", + "139bb02a-2e61-49ba-8afa-de58cee335f5", + "143a71df-c655-49f3-96d4-01282534c7f1", + "15d71e6b-ccd9-4b3c-86c9-3f4e36d14499", + "177bb979-239f-4fbe-aac2-c3c4c30948da", + "17af723a-6691-46f8-98d1-af803ae8741f", + "1963acde-d493-430f-a70e-e71281e217c8", + "1a4cd49f-d095-45ae-a3d7-19f96d1b57f2", + "1b135a7a-dd17-4a4f-9cda-8384cd43db7f", + "1b895c92-db37-4981-b69c-5a6acbbf6bf7", + "1ba56859-ebea-461f-8641-1301b7afdb8c", + "1bf4b0b6-354c-46c9-b99c-7541d6378178", + "1d12afdf-2cce-4ee9-ac9a-c4d4660e4a77", + "1d90d328-c419-42d8-af86-ed1b066dafea", + "1dfce2ec-88ca-4d33-9252-fa0a21fe6969", + "202580af-d984-4d09-b53c-3a47d8ce6cdb", + "206d4f85-565a-4912-86e6-60d8effdd66b", + "2184c66f-924e-4504-9c15-637dca3ad3b8", + "222a7438-f8e2-4b11-a713-d572675582be", + "24bc14e9-93b9-448d-a855-753623fecbcf", + "258c53f2-c56f-4aff-a891-cfb295e89af3", + "263b8380-63b1-4207-8ad2-05557151fa12", + "26de89f2-ef43-490c-84e3-93c9a2080d19", + "2782ab31-4554-48df-902c-cce2dfde5e0d", + "2853cfe4-c68b-4225-b7ec-bb383b7794f1", + "2ab35237-ddaf-4774-895a-2540e0c04331", + "2abe83ff-b531-4639-9ce8-11e5f6ea16e2", + "2bf375ca-99a8-4906-9907-d61ba2befdf4", + "2c35e944-e5b1-4067-948e-f2eb0d5258c9", + "2cac5cdb-aa8b-46f4-b932-03134cbbe4e7", + "2d5acf77-d8ba-48ca-80ba-9a5465641c17", + "2e6d3bc4-636b-4844-8e4c-516694afab07", + "2e753c82-ebfb-4671-bc97-610766f6a584", + "2ee82b83-9810-4866-9eb8-f5e2e3367729", + "2f42addf-98b2-4fef-b39e-addd72460b1b", + "2fbcff46-e8a5-4484-93c4-655c6209d243", + "2fbd7291-8729-43e4-9ba2-49fdf05eeb99", + "307b0713-abce-4f4d-a1cd-d913afa17807", + "3413dd90-dbf6-4f9a-99d5-e4a53be4779a", + "346a88ef-b219-473c-9845-d71af4eaa920", + "34e3e7ac-dbf9-4d39-af71-ccb622f15e3e", + "3528dd41-5a20-4736-925b-be94bfb5ad98", + "352d8a12-7fe9-4af7-8630-4c5df967aae2", + "359c24ed-34d7-4c40-a630-719e66fe854d", + "35a9ab3e-ac0d-474a-9ecf-f504fad46767", + "362ca1a7-2e42-4258-b4e0-bdd936bbb311", + "375669cb-f5f3-4c98-a55d-e9d716ec9b49", + "39a1bb00-1a15-473f-aefb-9222007fb00c", + "3b0d6406-7957-4ad9-98b0-79ddc83c2d5b", + "3b596f83-1c95-4c51-bca1-48be0a1c4ed1", + "3be87d1a-298b-45db-bf66-5042422fc1a1", + "3e7193b2-2b58-4cae-8207-96d6d99a8012", + "3e7ab0cd-5cd1-42e3-90ae-0b3a39c75b51", + "3fb9d46d-a5a3-4d31-86eb-c058ccfad4d5", + "403c68bd-4953-4b3c-8be6-4e8b674921a0", + "41971f60-413d-42a2-a412-03b0c0ee3c5d", + "4220f455-30ed-4559-90b2-8e15f1d69fe7", + "4291db12-e40c-43a4-9cbc-945ab8a68c82", + "434cdbe7-911a-4cd7-a218-a6bbc5e5a47e", + "444a8760-ea00-46b9-9c91-ee5824382f35", + "446c9a39-9ac5-4b49-bf65-c256fac6d8b2", + "4497eba5-7787-4b0f-9484-428822739a78", + "44c72d60-7d0e-4c7c-938e-c42dd7a28db5", + "45c7192f-cc3a-4893-b3c4-3bde25fe072c", + "45f57b15-d2c6-4003-a230-c5b4186d3843", + "46155a9d-1330-49ae-aaa7-c46213e633e3", + "46b0b5f6-30b3-4825-b28f-d0e9dca3fa2c", + "470cc80f-8251-4060-a1f6-8e39cf7eac62", + "4871beb2-83a8-4909-a05a-377a0aaf527d", + "48f92b36-5f13-4df6-b4f9-65211e0ad550", + "4913c901-acb5-4797-aa0f-e9d95b888e89", + "49c4a94f-73b6-4d01-8089-95607c3ac705", + "4a4c4cbc-f465-4704-a970-a236e8984a2a", + "4b35497a-1970-4e97-b2a2-4aa19595452e", + "4b7ef91e-6a43-46f1-8f25-d43c3d4b7c03", + "4b84b009-46c9-4c71-9c06-30b54ca8f837", + "4ba16e7d-912d-407a-82e0-ddcfa9b68e8e", + "4bc4f8ba-a8b7-4bd8-b7ce-d206a9fffaac", + "4d1997d3-290b-4a9b-972a-27994db61beb", + "4db3427c-a233-49c1-8bb8-4c17eb8034bf", + "51ac26ba-f5a1-40c0-872e-49ef97e8af61", + "51f60812-8ba3-40b1-9b4a-77c2f33172c0", + "52149037-bf6a-4e60-bc7e-6abcf187866a", + "532aa7be-09cd-45ec-817f-95ef4ebf19c8", + "560fa45b-1367-425b-b5a4-b4dc66b69293", + "56147424-36d9-464a-87d8-03a4c9889bb3", + "562da8a7-ebf1-466a-be0e-a99ad6473c0c", + "56428039-9c90-490f-b7a0-e88ffe76c005", + "565ca940-82d4-41b5-ab4f-bce6ca2fe894", + "56721f1e-22de-46e0-be9b-d9fd7c75f2da", + "5795a6b3-417a-4b1f-9107-3b6e4d4fd514", + "57b96d06-ff1b-4ae4-864e-ef49ef80f4aa", + "593e8aa6-6760-4d47-868a-2f5d15d44e99", + "597d58e8-7316-48cf-b298-b16fcdffd179", + "59fe0aa8-8a02-49e1-9d10-e315cef77724", + "5a1c0d89-fb33-43cd-b25d-04db4ac04222", + "5a38aa5b-8d82-4152-bb40-6028ccd56548", + "5a8258a9-1992-4304-b786-114ef90709f1", + "5b0b6daf-c284-4fcb-8500-fe5633a7bea8", + "5c2a97d1-07f0-406a-a456-0c4c1c429da5", + "5c9dad2d-9146-4557-93d0-bfa481530c1e", + "5ca1c465-2fb1-4baf-8d5c-506ba3692dfd", + "5cdfbdf7-5970-4a2b-9e60-5e5c8bd9b34a", + "5cfd7901-11ca-423e-bde7-5779ca03ecb7", + "5db1c350-8bc5-4d19-bd72-f8155b76fdf3", + "5ddc8ee8-7cb8-4d95-9953-ee573e52b01b", + "5edf5484-c068-4be3-a902-84ad4dea25c1", + "5efdafdf-ec13-4a7c-bcae-8de93b304d00", + "62563bc7-da63-42a6-bbb2-1e5e3265e4f8", + "63014021-a9e1-46df-b926-4612b46d3b05", + "6441f67d-b986-472e-af2a-aff46a913b16", + "6494e8ba-b1aa-4280-8af6-2e635ea38e13", + "67543532-bac4-46ab-b29b-d838a47c72dc", + "683667a6-9ef4-4497-8693-a652fd3c4756", + "689d2b0d-2116-4795-93fd-25cc72d9fbee", + "68c16459-483b-40bd-b743-4b4e4f0c303a", + "68cc1c2d-c498-46a0-b2eb-921fcdc244af", + "68f112d3-1c3d-4d8f-b0ca-903cd72d0820", + "6a0c127a-8eec-4301-a16a-0f29f38f3581", + "6ab9cd7c-84ce-4676-acb8-b6d9cf7d4cb3", + "6c7d2373-853c-4547-bcaf-2a7d715acb12", + "6c7ddd05-4f0b-4a03-8972-48660095dd3c", + "6f0580f3-0537-488c-8dc7-2f7386802f59", + "6f120ef1-d4f8-4b5e-8a37-d95a0f4bef5e", + "6f5910c6-f9ea-4b8f-8c0c-bddca00356c0", + "705ab3d3-443c-49ba-a5f3-271d685d3c73", + "7065cf2c-c46f-44e9-9d79-e11693a80543", + "709db283-6a8d-4886-b132-98c77e30f47e", + "713f8d66-2f7f-4dec-9fc5-bed1851abf1c", + "7301abcd-a283-414e-bb7a-53e606831be7", + "73131cc4-f421-4fb4-a473-3807df2ea3fd", + "7386fc3f-de42-4e1c-8218-27c9579385ab", + "74587daa-1a4e-4438-84cf-09f8ef4a2154", + "74f24646-1581-4020-9b42-9ea006986058", + "76747c92-faf8-48ee-acd9-0d6395a00456", + "76d337a6-9783-4bdd-bbc4-1aa0af9249b0", + "7851338b-74f1-4043-92b0-2e0bafd3b710", + "78d23f68-b428-4b83-aead-401b33521830", + "78ee7623-680a-406c-a11f-48c7c6ba7883", + "7939ed7f-487f-472a-8dd2-05eb4aed5858", + "79fb55bd-d525-4e2e-ad89-60810920a172", + "7a30ac45-c017-48de-8a8b-9fc6fe3fd004", + "7af5ce29-9267-4f20-952e-180451cb7419", + "7b53bbce-2d33-481e-982a-b653ef3a9b1c", + "7bac7a66-f63a-4344-bc73-626a58c047c7", + "7c6989e0-1058-4b9e-a8ae-18e069a11bc4", + "7cbfa338-4df4-49ee-99a1-5817ebdf76c2", + "7cd56418-a88b-4745-ad4a-c9111cd3707d", + "7d39da83-d5e3-4d08-b02a-df068b91776a", + "7d9b6f1c-26e6-46b1-8ca0-1696dbe03ed7", + "7f2c1004-9a5b-4dbe-b351-1c0b35268648", + "7fc5aaad-906f-411b-9ea7-278f2fd2aaec", + "803ded60-5e5a-4221-b465-46a1ef0cbd76", + "80a2d474-2fa7-42af-9588-7a3cd4459f8e", + "80d643cb-31b5-400d-8ade-1658a1c21032", + "81d036bf-ba70-4410-a20d-acb8d68a1972", + "822106d4-8a95-49c9-bdd5-8b88965d8ab0", + "829ca3a0-69c4-40a1-8508-784135568ed6", + "84c00500-7615-4867-9995-654240256ee2", + "84c865c1-4301-4653-b73d-e7c71892c612", + "855ba28d-c36a-47c9-8bc8-b8ecb83d1f21", + "856d4d91-a539-4f04-b156-17dbb8b083e1", + "863cf1b9-7307-4612-8aaa-8aa47aef2f77", + "8681c54b-e875-401a-8076-ab580a6f5f29", + "8711acb7-5776-42cb-9f0c-e071db145b50", + "885d1a81-734e-4765-93bf-a527a73424f5", + "88fc34ba-8223-43c5-bce0-f45a94932d64", + "89a4706c-0b90-41ef-8c4e-7455b253304e", + "8aab2aca-1d46-4ac4-87d3-542d6fc9d5e8", + "8b79ba23-c02b-45f8-9bee-27f82dcadf37", + "8c4cde8d-1de4-47b6-be65-a3c872cd7d74", + "8d0b7856-1526-4147-aadb-407f079c3477", + "8db3077f-60a0-4a66-ad41-890567d52a7f", + "8df104ad-7adf-4850-b889-a0e4324b5cac", + "8df7f319-d5f6-49fa-9df7-01c9aea9d0fe", + "8ecd19e5-4f74-40ce-8ac6-1259d037c22a", + "9179a469-28e4-4eae-9762-97964adad2e0", + "92e24ec4-e057-4508-a1e3-aa66d4cfb365", + "94fff388-959b-4fe7-9faf-ddf9d278b228", + "9548e942-7c82-4e41-87c8-78a4519b5e31", + "956afc1f-ee88-4fae-8c50-635629af1349", + "9585308b-89cd-486b-87d7-eebc004f51e7", + "98bee7c3-6254-4f06-9c95-09257e8f196d", + "9980c1b3-d778-4813-8421-b99005a20605", + "99ac70e6-c103-42fb-ae6d-e6fb5acd0dd7", + "9a1b5593-5124-4ac5-bd1c-e7e185e43527", + "9d020a6c-5617-437b-8ccc-13918a31bcc1", + "9da10cd0-a5c2-43f1-907b-20894ed6dc7e", + "9fc2c21d-a13c-4dac-9d67-5c8946dc6e08", + "9fca228b-5e75-4200-aded-f3e896c98ff2", + "a0571fe1-dd5d-49c2-8a69-605397cd196f", + "a0d72a81-896e-4d48-bc87-8b5329baa173", + "a1769597-71aa-43b4-a525-92e71cf5882b", + "a1f4d801-8164-4bd9-9a41-4508661c0582", + "a2b088e2-c26a-4bd8-86bc-c1cdeff4ff5e", + "a3a2a859-6949-4d30-81d1-ada11d764671", + "a45cf093-6a5c-43fe-8d35-a99c7629b45a", + "a45fb89d-2e63-464e-bb9d-c75bbd407f69", + "a4e9ea2a-1be9-4cf3-91e3-b736d51ff577", + "a6b50ca7-8f81-4ac3-8432-03688ef6a581", + "a75495a0-53d4-4c3a-bd9f-16e11feee96a", + "a78e1833-9234-47c2-80b4-169a951f28ca", + "a8ec100e-b76c-474d-9a9b-5dfafc7e8441", + "a9d08919-a2e1-49c8-b17e-2bcdb7aefd2e", + "aa6b1b4f-881b-4317-93ea-596c738e7ffd", + "aacf11ec-249d-4837-a9ac-749913fc4943", + "aaed39a6-9f44-4276-8069-d2b67839a0e7", + "ac7022e6-2bd4-456c-8d78-beb70469b218", + "ad78fd9f-ef8a-43d0-9211-ceee02f5d666", + "ad9a6f93-c924-4476-bbac-df32e775ac34", + "adbb53d6-d024-452e-9d9b-ba7738d948ad", + "ade05133-5516-45f4-b79e-e7f5e660b2e6", + "ae367f95-cb50-4e03-abad-f4f7e168944a", + "afeb8eb3-898f-4cdb-a3ef-ab3a4987568e", + "afff3b42-9132-4518-aa68-24f94d0e9e41", + "b12ec028-fdde-43de-b1da-5c22826a7c65", + "b2161864-15dc-4ce3-b3f5-ee3af715c9d0", + "b3ba49ef-eb5f-4483-adbc-d3b70ca72c85", + "b43a7ba6-3161-439b-80bb-88acdaa2e9bd", + "b60cdb27-f910-4adb-8ca5-672fe0280e4b", + "b7ab4c53-4fcf-43a0-b69f-4a80e36135d7", + "b7c0830c-0f6f-4ceb-a3ae-647fa62ddc51", + "b850ce60-f4b8-47e5-ba16-4b32bb919ec6", + "b9ccf211-657f-4e7d-bd2e-747433cc68e8", + "ba33eba8-82e8-4494-b688-4fbae054d70a", + "ba4879f6-2c1d-492b-95b2-be7ab7146efe", + "baaa3dc4-9489-44b5-9f20-4b368e401b9a", + "bb18f4d8-faf6-4a92-9c91-4feb687029c4", + "bb7f4020-5032-4425-8e1c-1a487e599932", + "bbb174a6-361c-4301-a36f-ac5829407288", + "bca08c1f-1c9c-4771-911d-0992edc1ba18", + "bfe68641-4488-4a67-9e9d-9208588bf96f", + "c18d0632-d41e-4782-aa2c-311348002bb8", + "c2424ceb-d6cd-466e-8a24-e249c1da6613", + "c26b21b0-7326-4df6-b384-d59943635f8f", + "c28867a3-e8e6-471c-ac7b-1e7e349f9d25", + "c29c2145-34b5-4855-bf85-3de69ec3ef0f", + "c2e2b6b3-64be-4090-9f90-7848a348ad9c", + "c342ef60-2ef0-46de-857b-8d7f83eaf65e", + "c37d2385-7481-48ea-97c3-180d570469d9", + "c487533f-581d-4eed-88bf-2fea69666aae", + "c4ea5233-df0b-4856-8174-16595b9f3994", + "c4fc96fa-c77f-4a98-beca-8df506d11970", + "c653bbd4-880c-4dd7-83b6-46876531c4e3", + "c720fe02-c541-4a87-9ffc-351fd11dfe7f", + "c73d5634-c78a-4f44-9c8d-9d879a55aab5", + "c7e61571-f930-400d-a31f-7505345ebf8c", + "c84b060f-7e34-4c06-bb61-703ac2793b69", + "c85c0fdb-c7ab-4762-b5a8-f5081febe9d5", + "c953722b-ca38-46f9-92d4-218a31490340", + "c98f1697-0952-4da5-a443-1ca24a1a78ab", + "ca023e55-e92b-4aea-b3de-7b74db08ec49", + "caa6f44b-dc90-462c-a5bf-5d1654d270cd", + "cad907fa-b997-410e-a4c3-b0a7eeac9880", + "cc16de56-889f-4536-a196-5500305264c7", + "cc967684-f052-4ed9-b86e-1f287a36f58d", + "cca2f3fd-5686-45c3-9a64-5355e2ea421f", + "cd05ad54-41e8-4e67-8a5b-9589caa89892", + "cdb52d2e-b937-46ac-a6ae-9fbb153b6aea", + "ce82062b-53d2-4e42-b1e3-57e64990b9ed", + "cf9e5e27-6a7a-423a-8603-ff4061bc51b6", + "d0258a17-4399-480b-b633-596c72741c51", + "d11454d4-0d5d-4b4c-8eb8-4d5856a16980", + "d119e727-f1ab-49b9-862b-73a7a4dab252", + "d1939e4a-3a6d-4705-9d35-b515986727cf", + "d1d85a16-7186-4596-ae5d-a1e9932abca5", + "d2089b46-4446-4bd6-8cf7-5d99aac9c52a", + "d23546f2-9207-4e3c-af73-b0c81850f0b4", + "d263f7cf-27a6-4d15-bfd3-56044783b3d9", + "d280e934-b02d-48bd-b224-210f9ea20fcc", + "d282bc08-ca00-456f-84dd-33daadb3dd8f", + "d40c556d-dcc4-4d8a-ad26-5848a8a6dbbd", + "d491eb1a-7c7c-40dd-837a-561d403a82b1", + "d4a0f4c0-57aa-45cf-a717-032fcc532c30", + "d532e12c-f655-432f-a2e8-b49f0bc1a087", + "d5e27157-0ace-45a4-a296-3a1ac6e711fa", + "d6503dfe-856c-43dd-9848-b1e8b841df50", + "d86052b9-2e0f-4276-a4ae-0a9fdbd8514d", + "d8f66384-903c-48ad-be64-b49a2bd9aabb", + "d9395395-f246-4cab-ae1d-505211c446b6", + "da09e993-1661-47d5-bfeb-4715af5a6a23", + "daaed396-5201-4621-931e-494852cf8248", + "db7f6409-0ab0-4a3b-be9d-7b0794f7887a", + "deb1cf82-5076-43c4-b21c-b3ebf567ed8f", + "dece6130-4ae2-446c-93a8-73da23eccd53", + "ded575f0-480b-4d6c-9a6f-de56594edbbc", + "dfd3291e-e550-4960-b748-48bb15d0b0e3", + "e062a4e7-1629-4508-a433-9a6ac9ddf4bf", + "e0aa6aa1-4a84-445a-8c4a-2da058683aff", + "e0c8cc3e-4746-461d-8bbf-af884da3390c", + "e2d306d3-6643-4f80-82ee-77e9277f7524", + "e45c3232-0c41-453e-910a-da8cb8b1fbd3", + "e48f5eb4-777b-4de0-8186-7504af1431a5", + "e660f005-4d9a-4243-8af1-9a535df6b6bf", + "e7769325-1f7a-4328-b357-832736a6227d", + "e8510652-c560-4dda-b876-453d8aeb5826", + "e8f3e04a-d45b-40af-b8a4-5ede7d83f437", + "e90c3905-5e0a-4616-8d37-def0b995424f", + "e9598dae-8938-4cb7-b346-24bcb85f523f", + "e95d2e72-49f5-4a5f-ba85-903838468b42", + "e9b97d55-437c-45e0-85dd-108f923adb07", + "e9d7ff39-1b62-4aee-9494-f51d395f2ef3", + "ea340aa6-2bfe-4d63-b71b-2a930987a45e", + "ea70b1d4-eae9-4a1a-a23d-4d5e564e276b", + "eaad0788-7af4-4885-9d44-5ee82f852230", + "eb721536-4746-4618-b75a-5ac679a7647b", + "ec7e2358-59d0-4882-bce5-1e1783517eac", + "edddbe74-5280-446a-8c94-f1fdbd340a58", + "ee090aad-c491-4aa4-99f1-c14aca5d72a4", + "eef7aa97-4b23-41f6-9cac-32c33eccd9e6", + "f0038537-7aef-49f8-b21f-b152c5755404", + "f0a639f8-3d6f-419b-a257-e9a0c2e7890b", + "f0d72eeb-d9fd-4d7b-b92b-6b6920a22838", + "f10bc131-ccfd-4fe8-832d-8aa442faf573", + "f120ced6-0d37-4fa5-8749-5f1065b2a0e4", + "f1c202d1-55bc-44dd-9752-799562e21056", + "f1e1d121-a467-4409-be64-88dc48e10def", + "f20a75fa-4baa-4a1a-a35f-25866ba56982", + "f38fe275-366a-4c2b-a719-9d6a50dc34f3", + "f3c6dfef-a0f0-4e42-92bb-9268758ab84a", + "f41083a9-5d8b-49ad-a3a8-64ab04c7e62f", + "f45c2e00-2c52-4471-bc7b-63b6179257ea", + "f4d5f271-1576-4df9-ae42-462c2bf73ca9", + "f5b85ad5-abe0-42eb-84f9-cf2d70d085e2", + "f7bbd277-1d25-477e-aa84-2bd9aa74ab61", + "f8dcfdcc-a5a4-4154-808a-55539c240735", + "f912b681-97c4-48bb-a8ff-aed3b3ac1f25", + "f9a90f11-f700-44b9-a233-48a5b6d8cd78", + "f9f4cd7e-e9e3-4951-b24a-9109a6c5135e", + "fa6f46ba-109a-419f-ba8a-dd06dd7ed2f2", + "fd08c95b-f367-45be-8bf2-7c93bb74c52e", + "fd2c664f-3f59-4ffa-9a93-7f81d7fa9301", + "fdb730b7-27b8-441c-884f-4e4c87267c5e", + "ff4c3998-8cfa-4bd8-b2b8-7fa30e88748c", + "ff63c92c-6793-4981-b578-bff413d1554c" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "color": "#2E91E5", + "size": 2 + }, + "mode": "markers", + "name": "all_symptoms", + "text": [ + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "foc|version|Failing|WorkloadNotAvailable|7a6a", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|default|AggregatedAPIDown
alert|kube-system|TargetDown|crio
alert|kube-system|TargetDown|kubelet
alert|openshift-cluster-csi-drivers|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|NTOPodsNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-dns|TargetDown|dns-default
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-ingress-canary|KubeDaemonSetMisScheduled
alert|openshift-ingress-canary|KubeDaemonSetRolloutStuck
alert|openshift-ingress|KubeDeploymentReplicasMismatch
alert|openshift-ingress|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|TargetDown|machine-config-daemon
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubeStatefulSetReplicasMismatch
alert|openshift-monitoring|PrometheusNotConnectedToAlertmanagers
alert|openshift-monitoring|TargetDown|node-exporter
alert|openshift-monitoring|TargetDown|prometheus-operator
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|elasticsearch-metrics
alert|openshift-logging|TargetDown|fluentd", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|kube-system|TargetDown|crio
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|KubePodNotReady
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|default|KubeAPILatencyHigh
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-controller-manager|KubeContainerWaiting
alert|openshift-controller-manager|KubeDaemonSetRolloutStuck
alert|openshift-controller-manager|KubePodNotReady
alert|openshift-image-registry|KubeContainerWaiting
alert|openshift-image-registry|KubeJobCompletion
alert|openshift-kube-apiserver|KubeContainerWaiting
alert|openshift-kube-apiserver|KubePodNotReady
alert|openshift-multus|KubeContainerWaiting
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|KubePodNotReady
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|openshift-image-registry|ImagePruningDisabled
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
foc|openshift-samples|Degraded|APIServerTimeoutError|327e
foc|version|Failing|MultipleErrors|3946
foc|version|Progressing|MultipleErrors|b12b
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "alert|ThanosQueryHighDNSFailures
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "foc|version|Progressing|DownloadingUpdate|41a9
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|default|KubeAPILatencyHigh
alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeNodeUnreachable", + "alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "alert|openshift-image-registry|ImagePruningDisabled", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_pressure_check|NODE_PRESSURE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|elasticsearch-metrics
alert|openshift-logging|TargetDown|fluentd", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryGrpcClientErrorRate
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-dns|TargetDown|dns-default
alert|openshift-ingress|KubeDeploymentReplicasMismatch
alert|openshift-ingress|TargetDown|router-internal-default
alert|openshift-monitoring|PrometheusErrorSendingAlertsToSomeAlertmanagers
alert|openshift-monitoring|TargetDown|alertmanager-main
alert|openshift-monitoring|TargetDown|prometheus-k8s
alert|openshift-monitoring|TargetDown|thanos-querier
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_pressure_check|NODE_PRESSURE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|PrometheusErrorSendingAlertsToSomeAlertmanagers
alert|openshift-monitoring|TargetDown|alertmanager-main
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIErrorsHigh
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-image-registry|KubeJobFailed
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-image-registry|ImagePruningDisabled
alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|TargetDown|openshift-state-metrics
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|CloudCredentialOperatorDown
alert|openshift-etcd|etcdMemberCommunicationSlow
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|KubePodNotReady
alert|openshift-multus|TargetDown|multus-admission-controller
foc|network|Degraded|RolloutHung|443c
foc|network|Progressing|Deploying|2264
rule|nodes_pressure_check|NODE_PRESSURE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc", + "alert|default|AggregatedAPIDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cluster-version|CannotRetrieveUpdates", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-machine-api|TargetDown|machine-api-controllers
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|elasticsearch-metrics
alert|openshift-logging|TargetDown|fluentd", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-image-registry|KubeContainerWaiting
alert|openshift-image-registry|KubeJobCompletion
alert|openshift-multus|KubeDaemonSetRolloutStuck
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-kube-apiserver-operator|TechPreviewNoUpgrade
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-image-registry|KubeContainerWaiting
alert|openshift-image-registry|KubePodNotReady
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|version|Failing|MultipleErrors|0e74", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|FluentdNodeDown
alert|openshift-logging|TargetDown|fluentd
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_pressure_check|NODE_PRESSURE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|default|KubeAPILatencyHigh", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|ThanosQueryHighDNSFailures
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_pressure_check|NODE_PRESSURE", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIErrorBudgetBurn
alert|openshift-etcd|etcdHighCommitDurations
alert|openshift-etcd|etcdHighFsyncDurations
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
foc|network|Degraded|ApplyOperatorConfig|a60e
foc|network|Degraded|ApplyOperatorConfig|e879
foc|version|Failing|MultipleErrors|eb7a
rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-operator-lifecycle-manager|FailingOperator", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|knative-serving|PodDisruptionBudgetAtLimit
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_pressure_check|NODE_PRESSURE", + "alert|kube-system|TargetDown|crio
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-operator-lifecycle-manager|FailingOperator
alert|openshift-storage|KubeDeploymentReplicasMismatch
alert|openshift-storage|KubePodNotReady
alert|openshift-storage|PodDisruptionBudgetAtLimit
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|bug_1766907|BUGZILLA_BUG_1766907", + "alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|CloudCredentialOperatorDown
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|knative-serving|PodDisruptionBudgetAtLimit
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Failing|MultipleErrors|3b4f", + "rule|nodes_pressure_check|NODE_PRESSURE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ClusterNotUpgradeable
alert|ThanosQueryHighDNSFailures
rule|bug_1766907|BUGZILLA_BUG_1766907
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-etcd|KubeContainerWaiting
alert|openshift-etcd|KubePodNotReady
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ClusterAutoscalerOperatorDown
alert|openshift-dns|TargetDown|dns-default
alert|openshift-machine-api|TargetDown|cluster-autoscaler-operator
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
alert|openshift-multus|TargetDown|multus-admission-controller
alert|openshift-multus|TargetDown|network-metrics-service
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-cluster-version|CannotRetrieveUpdates", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
foc|version|Failing|WorkloadNotAvailable|7a6a
foc|version|Failing|WorkloadNotAvailable|eb07", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|ThanosQueryHighDNSFailures
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|7756
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ClusterAutoscalerOperatorDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
foc|version|Failing|WorkloadNotAvailable|7a6a", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|default|KubeAPILatencyHigh", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingPrometheusK8SFailed|4760
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|default|KubeAPILatencyHigh", + "alert|ThanosQueryHighDNSFailures
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|MachineAPIOperatorDown
alert|default|KubeAPILatencyHigh
alert|etcdMembersDown
rule|ocp_version_end_of_life|OCP4X_BEYOND_EOL
rule|version_forced|FORCED_VERSION_UPDATES
rule|version_retarget|ABORTED_UPDATES_IN_RECENT_HISTORY", + "alert|ClusterNotUpgradeable
alert|openshift-cluster-csi-drivers|KubeContainerWaiting
alert|openshift-cluster-csi-drivers|KubeDeploymentReplicasMismatch
alert|openshift-cluster-csi-drivers|KubePodNotReady
alert|openshift-console|KubeDeploymentReplicasMismatch
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|kube-system|TargetDown|kubelet
alert|openshift-apiserver|KubeDeploymentReplicasMismatch
alert|openshift-apiserver|KubePodNotReady
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-console|KubeDeploymentReplicasMismatch
alert|openshift-controller-manager|KubeDaemonSetRolloutStuck
alert|openshift-controller-manager|KubePodNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-etcd|KubePodNotReady
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-image-registry|KubePodNotReady
alert|openshift-kube-apiserver|KubePodNotReady
alert|openshift-kube-controller-manager|KubePodNotReady
alert|openshift-kube-scheduler|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetMisScheduled
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|KubeDeploymentReplicasMismatch
alert|openshift-machine-config-operator|KubePodNotReady
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubePodNotReady
alert|openshift-multus|KubeDaemonSetMisScheduled
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-sdn|KubeDaemonSetMisScheduled
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-image-registry|ImagePruningDisabled
alert|openshift-kube-apiserver-operator|TechPreviewNoUpgrade
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeNodeUnreachable", + "alert|KubeAPIErrorBudgetBurn
alert|openshift-console|KubeDeploymentReplicasMismatch
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|ThanosQueryHighDNSFailures
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-kube-controller-manager|TargetDown|kube-controller-manager
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentGenerationMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|7756
foc|kube-controller-manager|Degraded|StaticPods_Error|34f4
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|8930
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Failing|MultipleErrors|fa9b
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures", + "foc|image-registry|Progressing|Error|79db", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-multus|KubeDaemonSetRolloutStuck
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|KubeAPIErrorBudgetBurn
alert|openshift-config-operator|TargetDown|metrics
alert|openshift-etcd|etcdMemberCommunicationSlow
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|etcdMembersDown
alert|openshift-image-registry|ImagePruningDisabled
alert|openshift-monitoring|KubeNodeUnreachable
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "foc|machine-config|Degraded|RequiredPoolsFailed|d1fc
rule|version_forced|FORCED_VERSION_UPDATES
rule|version_retarget|ABORTED_UPDATES_IN_RECENT_HISTORY", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
alert|tekton-pipelines|PodDisruptionBudgetAtLimit", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|MachineAPIOperatorDown
rule|ocp_version_end_of_life|OCP4X_BEYOND_EOL
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_pressure_check|NODE_PRESSURE
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Failing|MultipleErrors|3b4f", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|kube-system|TargetDown|crio
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|default|AggregatedAPIDown
alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|CloudCredentialOperatorDown
alert|openshift-machine-config-operator|MCDDrainError
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
alert|openshift-operator-lifecycle-manager|FailingOperator", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|CloudCredentialOperatorDown
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ClusterNotUpgradeable
alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ClusterNotUpgradeable
alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|openshift-console|KubeDeploymentReplicasMismatch", + "alert|ThanosQueryGrpcClientErrorRate
alert|openshift-dns|TargetDown|dns-default
alert|openshift-image-registry|TargetDown|image-registry
alert|openshift-ingress|TargetDown|router-internal-default
alert|openshift-machine-api|MachineWithoutValidNode
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|PrometheusErrorSendingAlertsToSomeAlertmanagers
alert|openshift-monitoring|TargetDown|alertmanager-main
alert|openshift-monitoring|TargetDown|kube-state-metrics
alert|openshift-monitoring|TargetDown|prometheus-adapter
alert|openshift-monitoring|TargetDown|prometheus-k8s
alert|openshift-monitoring|TargetDown|thanos-querier
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|TargetDown|sdn
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-marketplace|KubeContainerWaiting
alert|openshift-marketplace|KubePodNotReady
foc|image-registry|Progressing|Error|79db
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|ThanosQueryHighDNSFailures", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ClusterNotUpgradeable
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|default|KubeAPILatencyHigh
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-machine-api|TargetDown|machine-api-controllers
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-service-catalog-removed|KubeContainerWaiting
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|fluentd
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ClusterNotUpgradeable
alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|machine-config|Degraded|RequiredPoolsFailed|0fa6
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Upgradeable|One or more machine config pool is degraded, please see `oc get mcp` for further details and resolve before upgrading|54d5", + "alert|ThanosQueryHighDNSFailures
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-debug-network-hi92x|KubeDeploymentReplicasMismatch
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES" + ], + "type": "scatter3d", + "x": [ + -6.508472919464111, + 14.701431274414062, + 18.07594108581543, + -6.485951900482178, + -4.814838886260986, + -6.407799243927002, + -7.075637340545654, + -7.57185173034668, + 24.299129486083984, + -6.359860420227051, + -1.1922708749771118, + -5.162714958190918, + 18.144577026367188, + -6.652331352233887, + 15.866284370422363, + -5.044735908508301, + -4.911405563354492, + 5.919954299926758, + -1.6985814571380615, + -6.583059310913086, + -4.93621826171875, + -4.690492630004883, + -6.855248928070068, + -7.430389881134033, + -7.020079135894775, + 15.847081184387207, + 20.551259994506836, + 18.63059425354004, + 18.621116638183594, + -6.640495777130127, + -5.983137607574463, + -5.0703840255737305, + -6.243607521057129, + 15.835899353027344, + -6.4932074546813965, + 18.681827545166016, + -6.388707637786865, + -4.811809062957764, + -7.107786655426025, + -6.941802978515625, + -0.7400919795036316, + -7.13996696472168, + 15.83413314819336, + -6.7674360275268555, + 24.189117431640625, + 5.9358673095703125, + -1.5929874181747437, + 18.226787567138672, + 18.94855308532715, + -6.682797431945801, + -5.35587739944458, + -6.932839393615723, + 5.968183994293213, + -1.5694812536239624, + -6.854470729827881, + 18.147584915161133, + 17.94161605834961, + -6.798947334289551, + 18.24131202697754, + -5.30787467956543, + 15.81425666809082, + -4.882497310638428, + 5.967514514923096, + -7.051228046417236, + -4.8765764236450195, + -6.782342910766602, + -7.426082611083984, + -6.366758823394775, + -4.731571674346924, + -1.603980541229248, + -6.351593017578125, + 18.810264587402344, + 15.815242767333984, + 5.983912467956543, + -6.291979789733887, + 6.0377655029296875, + -6.367044925689697, + -1.6609220504760742, + -4.946216583251953, + -4.920126914978027, + 14.604913711547852, + -6.509585857391357, + -6.457581043243408, + -7.069526195526123, + -5.1693925857543945, + -6.120248317718506, + -5.0991950035095215, + -6.919513702392578, + -3.7356204986572266, + -1.3275141716003418, + 18.631898880004883, + 6.007969379425049, + -6.116791725158691, + -6.179051876068115, + 18.086484909057617, + 24.247068405151367, + -6.774296283721924, + 15.868584632873535, + -6.976282119750977, + -6.631752967834473, + -6.709264755249023, + -5.398678779602051, + -6.368623733520508, + -1.498488187789917, + -4.847675323486328, + -6.394754886627197, + 14.590171813964844, + -6.655190944671631, + -7.010329246520996, + 5.68173885345459, + -5.3329291343688965, + -5.30719518661499, + -5.468412399291992, + -5.409651756286621, + 5.985781192779541, + 19.005802154541016, + -6.200707912445068, + 5.911401271820068, + -6.221963405609131, + -5.335118770599365, + -6.212206840515137, + -6.31596565246582, + -6.451382160186768, + -6.216485500335693, + -6.678353786468506, + 14.493627548217773, + -6.748777866363525, + -1.7241560220718384, + 20.517641067504883, + -6.258054733276367, + 15.914960861206055, + -6.8718581199646, + -6.8952531814575195, + -6.936687469482422, + -6.229846000671387, + -5.3941755294799805, + 18.038145065307617, + -5.994319915771484, + -5.8678364753723145, + -6.28857946395874, + -5.0008344650268555, + -6.249646186828613, + -5.273580551147461, + -6.993056774139404, + -6.092935085296631, + 18.2108154296875, + -6.476114749908447, + -1.6113970279693604, + -4.929974555969238, + 18.270740509033203, + -5.160518169403076, + -6.0303874015808105, + -4.937394618988037, + -5.105307102203369, + -5.586767673492432, + -1.5855491161346436, + -5.254342079162598, + -1.484007716178894, + -6.422153472900391, + -6.327864170074463, + -6.872201919555664, + -5.892481327056885, + 15.853472709655762, + -6.918054580688477, + 20.480785369873047, + -5.006967544555664, + -6.849020004272461, + -6.170941352844238, + -5.537913799285889, + -4.935520648956299, + 6.0331244468688965, + 18.148122787475586, + -4.970097541809082, + 18.712482452392578, + 14.411581993103027, + -6.182474136352539, + -5.402115345001221, + -6.808959007263184, + -5.121963024139404, + -6.7844696044921875, + -6.3738508224487305, + 5.83152961730957, + -5.073592662811279, + -6.228448390960693, + -6.9561896324157715, + 15.823834419250488, + -5.37355375289917, + -6.611615180969238, + -6.056013107299805, + -6.315647602081299, + 6.116550922393799, + -6.855470180511475, + -6.39256477355957, + -7.037590026855469, + -4.968536853790283, + -6.699692249298096, + -6.4550371170043945, + -6.355433464050293, + 5.7672271728515625, + 18.642213821411133, + 18.273216247558594, + -6.312941074371338, + -6.264157295227051, + -1.4721779823303223, + 14.659029006958008, + 14.592086791992188, + -6.56808614730835, + -1.5603101253509521, + 18.484359741210938, + 18.90683364868164, + -6.5721635818481445, + -1.6564605236053467, + -6.877250671386719, + 15.761283874511719, + -6.26645040512085, + -1.4695523977279663, + -6.464454174041748, + -5.394909381866455, + -5.999269008636475, + -5.937560081481934, + -6.302257537841797, + 15.006304740905762, + -6.343450546264648, + -6.096992492675781, + -5.389856815338135, + -6.2611236572265625, + -5.199159622192383, + 14.510737419128418, + 18.958452224731445, + 15.006254196166992, + 14.679250717163086, + -6.175192356109619, + -0.22985664010047913, + -5.095884323120117, + -6.358592510223389, + -6.259182929992676, + -5.079482555389404, + -6.990578651428223, + -6.332729339599609, + -6.470727920532227, + 6.1047563552856445, + -5.635665416717529, + -1.4494723081588745, + -5.244890213012695, + 18.10479736328125, + -5.452732086181641, + 14.683895111083984, + -1.5687144994735718, + 18.305288314819336, + -6.602229118347168, + -6.02660608291626, + -6.2415771484375, + 20.515026092529297, + 5.942519664764404, + -5.180203437805176, + -5.480380535125732, + -6.78416633605957, + -1.4258058071136475, + -1.366783618927002, + 19.025781631469727, + -5.357151985168457, + -6.4966230392456055, + -5.363295555114746, + -0.8481283783912659, + -1.525602102279663, + -6.2800703048706055, + -6.083723545074463, + -5.619442939758301, + -5.57445764541626, + -1.2286872863769531, + 14.577311515808105, + -6.025033473968506, + -6.255163192749023, + -6.284247875213623, + -1.625158429145813, + 15.918874740600586, + -5.6207275390625, + -1.5608052015304565, + -6.894435405731201, + 18.546592712402344, + -6.472530364990234, + -6.358331203460693, + -1.3400657176971436, + -5.13228702545166, + -6.904990196228027, + -1.33734929561615, + -1.6320915222167969, + 18.708141326904297, + -5.409615993499756, + 5.844346523284912, + -5.0902557373046875, + 14.504204750061035, + -6.07065486907959, + -6.734348773956299, + -6.824306964874268, + -5.024299144744873, + -6.601585865020752, + 18.158512115478516, + -5.2081217765808105, + -6.49524450302124, + 5.960714340209961, + -6.923197269439697, + -1.509687066078186, + -5.423428535461426, + 6.146078586578369, + 18.071727752685547, + -6.683668613433838, + -0.8963751196861267, + 18.447555541992188, + 18.529943466186523, + -6.56385612487793, + 20.53032112121582, + -6.5508809089660645, + 18.207677841186523, + -6.705931186676025, + -5.4898505210876465, + 14.750651359558105, + -6.3094706535339355, + 20.51243782043457, + -5.356784343719482, + -6.857708930969238, + -6.713663578033447, + -5.187485694885254, + 18.188343048095703, + -6.629059314727783, + -6.375609874725342, + -5.991542339324951, + -6.5423736572265625, + -6.761687278747559, + -6.476625919342041, + -5.185638904571533, + -6.615434169769287, + -6.920022964477539, + 19.397192001342773, + -6.406599044799805, + -6.5076398849487305, + -6.458674907684326, + -6.5229811668396, + -1.4994255304336548, + -3.7358646392822266, + 6.004005432128906, + -0.7883594632148743, + 14.632951736450195, + -5.155665874481201, + -1.2136008739471436, + -1.3632787466049194, + -6.507847785949707, + -1.5000979900360107, + 5.939996719360352, + -4.9961748123168945, + 18.533987045288086, + 5.978385925292969, + -6.421209335327148, + -6.988371849060059, + -1.5002319812774658, + -5.81713342666626, + -5.178189754486084, + -5.760660648345947, + -6.391116142272949, + 24.284372329711914, + -1.3828365802764893, + 14.769547462463379, + 14.53292465209961, + 5.989429950714111, + 5.9598565101623535, + -6.891895771026611, + -6.515506267547607, + -5.542363166809082, + -6.580477237701416, + 18.236581802368164, + -1.0650038719177246, + -6.617132663726807, + 14.615621566772461, + -1.3062107563018799, + -6.526794910430908, + -5.166417121887207, + -5.172086715698242, + 18.441099166870117, + -5.253601551055908, + -1.4513665437698364, + -5.15774393081665, + -6.684908866882324 + ], + "y": [ + -27.89963722229004, + 11.950806617736816, + -5.9461798667907715, + -26.78243064880371, + -27.64413070678711, + -27.560924530029297, + -26.336523056030273, + -26.779123306274414, + 16.93421745300293, + -26.916194915771484, + 8.528918266296387, + -27.239530563354492, + -5.895166397094727, + -26.49807357788086, + -8.908788681030273, + -27.465065002441406, + -28.117168426513672, + -22.417749404907227, + 8.344063758850098, + -27.216550827026367, + -27.93771743774414, + -27.71525001525879, + -27.75773811340332, + -26.67815589904785, + -26.18734359741211, + -8.988445281982422, + -3.648930311203003, + -6.082215785980225, + -6.035512924194336, + -27.535974502563477, + -27.124618530273438, + -28.205488204956055, + -27.543107986450195, + -8.997578620910645, + -27.396469116210938, + -6.064774990081787, + -27.316089630126953, + -28.115406036376953, + -26.91932487487793, + -27.575544357299805, + 8.635396957397461, + -26.789142608642578, + -8.99428653717041, + -27.00328254699707, + 16.817724227905273, + -22.178422927856445, + 8.631075859069824, + -6.198072910308838, + -6.022517681121826, + -27.367616653442383, + -26.864337921142578, + -26.374828338623047, + -22.52374839782715, + 8.519402503967285, + -26.610736846923828, + -6.09999418258667, + -6.2541327476501465, + -27.736072540283203, + -6.100539684295654, + -28.28400421142578, + -9.017114639282227, + -27.58123779296875, + -22.143798828125, + -26.17220687866211, + -27.84193992614746, + -27.597698211669922, + -26.405424118041992, + -27.899518966674805, + -27.853567123413086, + 8.822068214416504, + -27.30091667175293, + -6.159736156463623, + -9.015351295471191, + -22.463197708129883, + -27.69510269165039, + -22.457120895385742, + -26.91396141052246, + 8.439791679382324, + -27.986417770385742, + -28.054819107055664, + 12.054142951965332, + -27.46687126159668, + -27.976318359375, + -26.616918563842773, + -27.784486770629883, + -27.69938087463379, + -27.860286712646484, + -26.440170288085938, + -26.42074203491211, + 8.337406158447266, + -6.105352878570557, + -22.08506965637207, + -27.06110382080078, + -27.775699615478516, + -5.914007186889648, + 16.877120971679688, + -27.779184341430664, + -8.901880264282227, + -26.92291259765625, + -27.445289611816406, + -27.77206802368164, + -28.04203224182129, + -26.94698715209961, + 8.512685775756836, + -27.81466293334961, + -27.656381607055664, + 11.995240211486816, + -27.416139602661133, + -26.226490020751953, + -22.507953643798828, + -27.692333221435547, + -27.474132537841797, + -27.076213836669922, + -28.09868621826172, + -22.176477432250977, + -5.949207782745361, + -27.488170623779297, + -22.148530960083008, + -27.28164291381836, + -27.480594635009766, + -27.127492904663086, + -26.971708297729492, + -27.186750411987305, + -27.34534454345703, + -26.490737915039062, + 12.173516273498535, + -27.545536041259766, + 8.694847106933594, + -3.682539463043213, + -27.37449073791504, + -8.915262222290039, + -26.98171615600586, + -26.5472412109375, + -26.3290958404541, + -27.163732528686523, + -27.728710174560547, + -6.129349231719971, + -27.036392211914062, + -27.910354614257812, + -26.95482635498047, + -28.070316314697266, + -27.304758071899414, + -27.177194595336914, + -26.7445068359375, + -27.2197208404541, + -6.096770286560059, + -27.711366653442383, + 8.740100860595703, + -28.000648498535156, + -6.147867202758789, + -27.711545944213867, + -27.329938888549805, + -27.882658004760742, + -28.0564022064209, + -27.925264358520508, + 8.477258682250977, + -28.087095260620117, + 8.71697998046875, + -26.868894577026367, + -27.438535690307617, + -27.02591896057129, + -26.859600067138672, + -8.963929176330566, + -27.545352935791016, + -3.718353271484375, + -28.009626388549805, + -26.72005844116211, + -26.9728946685791, + -27.951839447021484, + -27.70336151123047, + -22.19812774658203, + -5.993408203125, + -27.86338233947754, + -6.112416744232178, + 12.250931739807129, + -27.22418212890625, + -27.85909652709961, + -26.608776092529297, + -27.841447830200195, + -26.452499389648438, + -26.869831085205078, + -22.274934768676758, + -27.623075485229492, + -27.791290283203125, + -26.537071228027344, + -9.005845069885254, + -27.773069381713867, + -27.528369903564453, + -27.294055938720703, + -26.952056884765625, + -22.109872817993164, + -26.584300994873047, + -27.171367645263672, + -26.302261352539062, + -27.69452476501465, + -27.555662155151367, + -26.83515167236328, + -27.092477798461914, + -22.2999267578125, + -6.122944355010986, + -6.3208112716674805, + -27.088550567626953, + -27.53542137145996, + 8.802658081054688, + 12.037797927856445, + 12.058063507080078, + -27.354089736938477, + 8.752095222473145, + -6.0539069175720215, + -6.019707679748535, + -27.659591674804688, + 8.669106483459473, + -26.74193572998047, + -9.068763732910156, + -26.968067169189453, + 8.560523986816406, + -26.807971954345703, + -27.748140335083008, + -27.37152099609375, + -27.384544372558594, + -27.75541877746582, + -15.773283958435059, + -26.937389373779297, + -27.138900756835938, + -27.75275421142578, + -26.9167537689209, + -28.031513214111328, + 12.16656494140625, + -5.965411186218262, + -15.77324390411377, + 12.05622673034668, + -27.56310272216797, + -25.314373016357422, + -27.78474998474121, + -27.791751861572266, + -27.680286407470703, + -28.013376235961914, + -26.733949661254883, + -26.947309494018555, + -27.564958572387695, + -22.13174057006836, + -28.00985336303711, + 8.639897346496582, + -27.595962524414062, + -6.153355598449707, + -27.95162582397461, + 11.971056938171387, + 8.63701057434082, + -5.89190673828125, + -27.11508560180664, + -27.17331314086914, + -27.553544998168945, + -3.6862266063690186, + -22.23111343383789, + -27.575119018554688, + -27.6356143951416, + -26.982479095458984, + 8.652303695678711, + 8.534278869628906, + -5.987359523773193, + -27.74905776977539, + -27.63831901550293, + -27.616464614868164, + 8.643148422241211, + 8.427978515625, + -27.571117401123047, + -27.23386573791504, + -27.768327713012695, + -27.913951873779297, + 8.433550834655762, + 11.936927795410156, + -27.162738800048828, + -27.343626022338867, + -26.98289680480957, + 8.600713729858398, + -8.874434471130371, + -27.780792236328125, + 8.568625450134277, + -26.323633193969727, + -5.782250881195068, + -27.636138916015625, + -26.94268798828125, + 8.499092102050781, + -27.830886840820312, + -26.295366287231445, + 8.652801513671875, + 8.718467712402344, + -6.13960599899292, + -27.638559341430664, + -22.41525650024414, + -27.656038284301758, + 12.16248607635498, + -27.21497917175293, + -26.769123077392578, + -26.47551727294922, + -27.658693313598633, + -27.197717666625977, + -6.023045063018799, + -27.892642974853516, + -27.085081100463867, + -22.33993911743164, + -26.412498474121094, + 8.638826370239258, + -27.791004180908203, + -22.301591873168945, + -5.969045639038086, + -26.797887802124023, + 8.666205406188965, + -5.971152305603027, + -5.956844806671143, + -27.158946990966797, + -3.6695594787597656, + -26.84357261657715, + -6.023324966430664, + -26.98872947692871, + -27.74013900756836, + 11.917290687561035, + -27.29935646057129, + -3.6878530979156494, + -26.866470336914062, + -26.34971809387207, + -27.378625869750977, + -27.791181564331055, + -6.09067440032959, + -27.350475311279297, + -26.928783416748047, + -27.129201889038086, + -27.266063690185547, + -26.926971435546875, + -27.484601974487305, + -27.805994033813477, + -27.545167922973633, + -26.36805534362793, + -6.159181594848633, + -27.34865951538086, + -27.20864486694336, + -27.394546508789062, + -27.197111129760742, + 8.61318302154541, + -26.420835494995117, + -22.121036529541016, + 8.639701843261719, + 12.044049263000488, + -27.870553970336914, + 8.505294799804688, + 8.661144256591797, + -27.337182998657227, + 8.6274995803833, + -22.16929054260254, + -27.77030372619629, + -5.990329265594482, + -22.220605850219727, + -27.477170944213867, + -26.304466247558594, + 8.607436180114746, + -27.661760330200195, + -27.816354751586914, + -27.58287811279297, + -27.51096534729004, + 16.918899536132812, + 8.578200340270996, + 11.904377937316895, + 12.136640548706055, + -22.224288940429688, + -22.29214859008789, + -26.463390350341797, + -27.338552474975586, + -27.70599937438965, + -27.283634185791016, + -6.069391250610352, + 8.617544174194336, + -27.390138626098633, + 12.046242713928223, + 8.500396728515625, + -27.327054977416992, + -27.788694381713867, + -27.889602661132812, + -6.270835876464844, + -27.92205047607422, + 8.65102767944336, + -27.809406280517578, + -26.980304718017578 + ], + "z": [ + 22.8504581451416, + 21.78303337097168, + 53.72732925415039, + 25.32775115966797, + 24.568273544311523, + 24.455217361450195, + 23.98715591430664, + 25.572540283203125, + 56.66353225708008, + 27.452320098876953, + 20.088409423828125, + 28.078872680664062, + 53.502891540527344, + 23.358383178710938, + 57.87911605834961, + 24.40227699279785, + 23.92687225341797, + 42.71653747558594, + 20.188838958740234, + 24.460609436035156, + 24.632997512817383, + 24.332008361816406, + 23.086185455322266, + 23.85738182067871, + 23.791494369506836, + 58.29733657836914, + 57.64208221435547, + 53.778053283691406, + 53.69913864135742, + 22.631393432617188, + 24.27526092529297, + 24.539045333862305, + 22.80612564086914, + 58.309295654296875, + 24.61604118347168, + 53.75299072265625, + 22.58152198791504, + 24.4237060546875, + 23.713075637817383, + 22.918537139892578, + 19.709930419921875, + 23.351686477661133, + 58.24107360839844, + 22.84181022644043, + 56.55369567871094, + 42.646568298339844, + 20.011573791503906, + 53.8009147644043, + 53.64635467529297, + 22.775970458984375, + 29.253093719482422, + 23.783222198486328, + 42.56985855102539, + 20.15454864501953, + 23.207752227783203, + 53.733890533447266, + 53.565147399902344, + 23.056350708007812, + 53.761505126953125, + 24.150197982788086, + 58.274227142333984, + 24.215778350830078, + 42.69428253173828, + 24.04662322998047, + 24.056087493896484, + 22.954538345336914, + 24.05994987487793, + 23.047283172607422, + 24.518829345703125, + 20.062768936157227, + 22.893888473510742, + 53.89307403564453, + 58.27170944213867, + 42.64662551879883, + 22.781408309936523, + 42.46690368652344, + 27.414518356323242, + 20.27866554260254, + 24.35751724243164, + 24.06218719482422, + 21.80187225341797, + 22.769424438476562, + 23.203805923461914, + 26.93425750732422, + 23.906553268432617, + 22.88593292236328, + 24.526748657226562, + 23.76462745666504, + 34.94251251220703, + 20.13187026977539, + 53.75702667236328, + 42.662567138671875, + 23.176986694335938, + 22.907560348510742, + 53.57343673706055, + 56.611610412597656, + 23.2619686126709, + 57.8470344543457, + 23.2438907623291, + 23.749958038330078, + 23.515432357788086, + 24.436697006225586, + 27.442197799682617, + 20.340328216552734, + 24.354955673217773, + 23.696571350097656, + 21.812231063842773, + 22.949182510375977, + 24.199909210205078, + 42.643096923828125, + 24.496191024780273, + 24.191495895385742, + 28.087081909179688, + 23.7010440826416, + 42.7249870300293, + 53.68470001220703, + 24.557565689086914, + 42.723365783691406, + 24.513809204101562, + 24.318138122558594, + 24.381132125854492, + 27.19668960571289, + 22.82699203491211, + 24.603069305419922, + 24.10161781311035, + 21.947315216064453, + 23.700075149536133, + 19.96795654296875, + 57.6082878112793, + 23.623682022094727, + 58.3651008605957, + 23.146812438964844, + 24.16397476196289, + 24.300708770751953, + 24.447097778320312, + 24.205909729003906, + 53.48530197143555, + 23.360443115234375, + 23.505857467651367, + 27.407264709472656, + 23.922693252563477, + 24.64521026611328, + 28.01077651977539, + 23.524560928344727, + 23.11185073852539, + 53.68459701538086, + 23.528451919555664, + 20.358552932739258, + 24.18799591064453, + 53.653228759765625, + 24.01413345336914, + 23.070363998413086, + 24.296422958374023, + 24.254764556884766, + 23.653209686279297, + 20.257465362548828, + 24.83572769165039, + 20.310152053833008, + 27.516721725463867, + 24.22368621826172, + 23.66227912902832, + 24.39542007446289, + 58.318115234375, + 23.120325088500977, + 57.575809478759766, + 24.69959831237793, + 23.589649200439453, + 23.17709732055664, + 23.64906883239746, + 23.907304763793945, + 42.663455963134766, + 53.664974212646484, + 24.293447494506836, + 53.8111686706543, + 22.0239200592041, + 24.441322326660156, + 23.645246505737305, + 23.43956184387207, + 24.78632354736328, + 23.919076919555664, + 24.880992889404297, + 42.4249153137207, + 23.94640350341797, + 23.0352725982666, + 24.192428588867188, + 58.26966094970703, + 23.632478713989258, + 23.55287742614746, + 23.341320037841797, + 24.800085067749023, + 43.01173782348633, + 24.067686080932617, + 23.383745193481445, + 25.27708625793457, + 24.11336898803711, + 23.61458969116211, + 25.043746948242188, + 23.468393325805664, + 42.63345718383789, + 53.81877136230469, + 53.91914367675781, + 24.351051330566406, + 23.520008087158203, + 19.829748153686523, + 21.875444412231445, + 21.860435485839844, + 23.1492919921875, + 19.79663848876953, + 53.645172119140625, + 53.6876335144043, + 23.00848388671875, + 20.028968811035156, + 23.63909339904785, + 58.30634307861328, + 26.049564361572266, + 20.37648582458496, + 27.261642456054688, + 24.18075180053711, + 23.198429107666016, + 24.43136215209961, + 23.303953170776367, + 48.21512985229492, + 27.41499137878418, + 24.129762649536133, + 23.68899154663086, + 25.220415115356445, + 24.132116317749023, + 21.95639419555664, + 53.64399719238281, + 48.21510314941406, + 21.980844497680664, + 23.178447723388672, + 38.34010314941406, + 24.177982330322266, + 23.38178825378418, + 23.139631271362305, + 24.268413543701172, + 23.508230209350586, + 27.289142608642578, + 22.931665420532227, + 43.03556442260742, + 23.783388137817383, + 19.93271255493164, + 24.360374450683594, + 53.80305480957031, + 24.217248916625977, + 21.84247398376465, + 20.162456512451172, + 53.492103576660156, + 22.9483585357666, + 24.638032913208008, + 23.484695434570312, + 57.599754333496094, + 42.625736236572266, + 24.315628051757812, + 23.713123321533203, + 23.599700927734375, + 20.25800895690918, + 20.169864654541016, + 53.65849304199219, + 24.20380210876465, + 23.223228454589844, + 24.107362747192383, + 19.760356903076172, + 20.183237075805664, + 23.241243362426758, + 24.16557502746582, + 23.829452514648438, + 23.80571937561035, + 20.23876190185547, + 21.894268035888672, + 24.60442543029785, + 24.2659969329834, + 27.068078994750977, + 20.364225387573242, + 58.00498962402344, + 23.70301628112793, + 20.364789962768555, + 24.25131607055664, + 53.730770111083984, + 23.293062210083008, + 24.806257247924805, + 20.272146224975586, + 24.38848876953125, + 24.05539894104004, + 20.247716903686523, + 19.977460861206055, + 53.844642639160156, + 23.836633682250977, + 42.66718673706055, + 24.30832290649414, + 21.930086135864258, + 24.198200225830078, + 23.327213287353516, + 23.9949951171875, + 24.06720542907715, + 23.111209869384766, + 53.6658821105957, + 24.75918197631836, + 23.15666389465332, + 42.5792236328125, + 23.79336166381836, + 20.269813537597656, + 23.863956451416016, + 42.55045700073242, + 53.72597885131836, + 23.51398277282715, + 19.78512954711914, + 53.69868469238281, + 53.67804718017578, + 23.066486358642578, + 57.6201286315918, + 23.440107345581055, + 53.66916275024414, + 23.450275421142578, + 23.94976234436035, + 21.849903106689453, + 23.11724090576172, + 57.601295471191406, + 29.238508224487305, + 23.8762149810791, + 23.277997970581055, + 24.42156219482422, + 53.7143440246582, + 23.26117706298828, + 27.371593475341797, + 25.254777908325195, + 23.321216583251953, + 23.495798110961914, + 23.355274200439453, + 24.633792877197266, + 23.32392692565918, + 23.887775421142578, + 54.074031829833984, + 23.219196319580078, + 23.139244079589844, + 23.09986686706543, + 23.2066650390625, + 20.283985137939453, + 34.941436767578125, + 42.706138610839844, + 19.7271671295166, + 21.782424926757812, + 24.17633628845215, + 20.093976974487305, + 20.234962463378906, + 23.26881980895996, + 20.24287986755371, + 42.71296691894531, + 24.11170196533203, + 53.729949951171875, + 42.68391036987305, + 23.207414627075195, + 23.84055519104004, + 20.27212905883789, + 23.487455368041992, + 24.103260040283203, + 23.568395614624023, + 23.169761657714844, + 56.648799896240234, + 20.223812103271484, + 21.850664138793945, + 21.9367618560791, + 42.64792251586914, + 42.76758575439453, + 23.8532772064209, + 23.26671028137207, + 23.750118255615234, + 23.32514190673828, + 53.70216751098633, + 19.919597625732422, + 23.180912017822266, + 21.844860076904297, + 20.166851043701172, + 23.272686004638672, + 24.09163475036621, + 24.194364547729492, + 53.93247604370117, + 24.07845687866211, + 20.265117645263672, + 24.000442504882812, + 23.465057373046875 + ] + }, + { + "customdata": [], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "color": "#E15F99", + "size": 3 + }, + "mode": "markers", + "name": "ignored-symptoms", + "text": [], + "type": "scatter3d", + "x": [], + "y": [], + "z": [] + }, + { + "customdata": [ + "01dcac72-145a-4897-928c-dc694c63dbc6", + "034265cb-0256-4a34-8975-fad19d73cf66", + "15d71e6b-ccd9-4b3c-86c9-3f4e36d14499", + "aacf11ec-249d-4837-a9ac-749913fc4943" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "color": "#1CA71C", + "size": 3 + }, + "mode": "markers", + "name": "sdn-issue", + "text": [ + "alert|default|AggregatedAPIDown
alert|kube-system|TargetDown|crio
alert|kube-system|TargetDown|kubelet
alert|openshift-cluster-csi-drivers|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|NTOPodsNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-dns|TargetDown|dns-default
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-ingress-canary|KubeDaemonSetMisScheduled
alert|openshift-ingress-canary|KubeDaemonSetRolloutStuck
alert|openshift-ingress|KubeDeploymentReplicasMismatch
alert|openshift-ingress|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|TargetDown|machine-config-daemon
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubeStatefulSetReplicasMismatch
alert|openshift-monitoring|PrometheusNotConnectedToAlertmanagers
alert|openshift-monitoring|TargetDown|node-exporter
alert|openshift-monitoring|TargetDown|prometheus-operator
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-controller-manager|KubeContainerWaiting
alert|openshift-controller-manager|KubeDaemonSetRolloutStuck
alert|openshift-controller-manager|KubePodNotReady
alert|openshift-image-registry|KubeContainerWaiting
alert|openshift-image-registry|KubeJobCompletion
alert|openshift-kube-apiserver|KubeContainerWaiting
alert|openshift-kube-apiserver|KubePodNotReady
alert|openshift-multus|KubeContainerWaiting
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|KubePodNotReady
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryGrpcClientErrorRate
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-dns|TargetDown|dns-default
alert|openshift-ingress|KubeDeploymentReplicasMismatch
alert|openshift-ingress|TargetDown|router-internal-default
alert|openshift-monitoring|PrometheusErrorSendingAlertsToSomeAlertmanagers
alert|openshift-monitoring|TargetDown|alertmanager-main
alert|openshift-monitoring|TargetDown|prometheus-k8s
alert|openshift-monitoring|TargetDown|thanos-querier
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|kube-system|TargetDown|kubelet
alert|openshift-apiserver|KubeDeploymentReplicasMismatch
alert|openshift-apiserver|KubePodNotReady
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-console|KubeDeploymentReplicasMismatch
alert|openshift-controller-manager|KubeDaemonSetRolloutStuck
alert|openshift-controller-manager|KubePodNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-etcd|KubePodNotReady
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-image-registry|KubePodNotReady
alert|openshift-kube-apiserver|KubePodNotReady
alert|openshift-kube-controller-manager|KubePodNotReady
alert|openshift-kube-scheduler|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetMisScheduled
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|KubeDeploymentReplicasMismatch
alert|openshift-machine-config-operator|KubePodNotReady
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubePodNotReady
alert|openshift-multus|KubeDaemonSetMisScheduled
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-sdn|KubeDaemonSetMisScheduled
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED" + ], + "type": "scatter3d", + "x": [ + -7.57185173034668, + 15.866284370422363, + -5.35587739944458, + 20.515026092529297 + ], + "y": [ + -26.779123306274414, + -8.908788681030273, + -26.864337921142578, + -3.6862266063690186 + ], + "z": [ + 25.572540283203125, + 57.87911605834961, + 29.253093719482422, + 57.599754333496094 + ] + }, + { + "customdata": [ + "01dcac72-145a-4897-928c-dc694c63dbc6", + "aacf11ec-249d-4837-a9ac-749913fc4943" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "color": "#FB0D0D", + "size": 3 + }, + "mode": "markers", + "name": "kubelet-down", + "text": [ + "alert|default|AggregatedAPIDown
alert|kube-system|TargetDown|crio
alert|kube-system|TargetDown|kubelet
alert|openshift-cluster-csi-drivers|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|NTOPodsNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-dns|TargetDown|dns-default
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-ingress-canary|KubeDaemonSetMisScheduled
alert|openshift-ingress-canary|KubeDaemonSetRolloutStuck
alert|openshift-ingress|KubeDeploymentReplicasMismatch
alert|openshift-ingress|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|TargetDown|machine-config-daemon
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubeStatefulSetReplicasMismatch
alert|openshift-monitoring|PrometheusNotConnectedToAlertmanagers
alert|openshift-monitoring|TargetDown|node-exporter
alert|openshift-monitoring|TargetDown|prometheus-operator
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|kube-system|TargetDown|kubelet
alert|openshift-apiserver|KubeDeploymentReplicasMismatch
alert|openshift-apiserver|KubePodNotReady
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-console|KubeDeploymentReplicasMismatch
alert|openshift-controller-manager|KubeDaemonSetRolloutStuck
alert|openshift-controller-manager|KubePodNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-etcd|KubePodNotReady
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-image-registry|KubePodNotReady
alert|openshift-kube-apiserver|KubePodNotReady
alert|openshift-kube-controller-manager|KubePodNotReady
alert|openshift-kube-scheduler|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetMisScheduled
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|KubeDeploymentReplicasMismatch
alert|openshift-machine-config-operator|KubePodNotReady
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubePodNotReady
alert|openshift-multus|KubeDaemonSetMisScheduled
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-sdn|KubeDaemonSetMisScheduled
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED" + ], + "type": "scatter3d", + "x": [ + -7.57185173034668, + 20.515026092529297 + ], + "y": [ + -26.779123306274414, + -3.6862266063690186 + ], + "z": [ + 25.572540283203125, + 57.599754333496094 + ] + }, + { + "customdata": [], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "color": "#DA16FF", + "size": 3 + }, + "mode": "markers", + "name": "BZ-1821905-DefaultSecurityContextConstraints_Mutated", + "text": [], + "type": "scatter3d", + "x": [], + "y": [], + "z": [] + }, + { + "customdata": [], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "color": "#B68100", + "size": 3 + }, + "mode": "markers", + "name": "4.3-major-upgrade-autoscaler", + "text": [], + "type": "scatter3d", + "x": [], + "y": [], + "z": [] + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualize deployments and known diagnoses\n", + "fig = go.Figure()\n", + "\n", + "# data to display when hover over - list of all symptoms\n", + "hoverdata = X_df.apply(create_hoverinfo, axis=1)\n", + "\n", + "# add all deployments\n", + "fig.add_trace(\n", + " go.Scatter3d(\n", + " name=\"all_symptoms\",\n", + " mode=\"markers\",\n", + " x=X_df_trans[:, 0],\n", + " y=X_df_trans[:, 1],\n", + " z=X_df_trans[:, 2],\n", + " hovertemplate=\"_id: %{customdata}
\" + \"
%{text}\",\n", + " customdata=hoverdata.index.tolist(),\n", + " text=hoverdata.values,\n", + " marker=dict(size=2, color=primary),\n", + " )\n", + ")\n", + "\n", + "\n", + "for di, diag_name in enumerate(diag_names):\n", + " # get deployments hit with current diagnosis\n", + " labels = X_df.index.isin(\n", + " diagnoses_df[diagnoses_df[\"symptom_id\"] == f\"diagnosis|{diag_name}\"][\n", + " \"cluster_id\"\n", + " ].unique()\n", + " )\n", + "\n", + " # add data points that have this diagnosis\n", + " fig.add_trace(\n", + " go.Scatter3d(\n", + " name=diag_name,\n", + " mode=\"markers\",\n", + " x=X_df_trans[labels, 0],\n", + " y=X_df_trans[labels, 1],\n", + " z=X_df_trans[labels, 2],\n", + " hovertemplate=\"_id: %{customdata}
\" + \"
%{text}\",\n", + " customdata=hoverdata[labels].index.tolist(),\n", + " text=hoverdata[labels].values,\n", + " marker=dict(size=3, color=custom_colors[di]),\n", + " )\n", + " )\n", + "\n", + "if SAVE_PLOTS:\n", + " savedir = \"../../reports/figures\"\n", + " fname = f\"symptoms_{umap_instance.metric}_all_diagnoses\"\n", + " suffix = f\"{DATE_PREFIX.replace('/', '_')}_{IMAGES_TAG}\"\n", + "\n", + " print(f\"Saving plot as '{savedir}_{fname}_{suffix}.html'\")\n", + " plotly.offline.plot(\n", + " fig,\n", + " filename=f\"{savedir}/{fname}_{suffix}.html\",\n", + " auto_open=True,\n", + " )\n", + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": true + }, + "source": [ + "### Interpretation\n", + "\n", + "- This graph shows the 3d representation of the dataset that UMAP created. Each point on the graph represents a deployment.\n", + "\n", + "- Hovering over a point (deployment) will show all the symptoms shown by that deployment.\n", + "\n", + "- The points on the graph are colored by known diagnoses. Here, for example, all the red points represent deployments that kraken diagnosed with \"kubelet-down\". All the green points represent deployments that kraken diagnosed with \"kubelet-down\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Apply Clustering\n", + "\n", + "Now, we will use DBSCAN for clustering the dimension reduced data.\n", + "
**NOTE**: DBSCAN may not be the final algorithm that we use for clustering, but it serves as a good starting point." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.524493Z", + "start_time": "2021-01-27T16:42:56.413353Z" + }, + "code_folding": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "DBSCAN(eps=0.325, n_jobs=-1)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# fit a vanilla dbscan model\n", + "dbscan = DBSCAN(\n", + " eps=0.325,\n", + " n_jobs=-1,\n", + ")\n", + "dbscan.fit(X_df_trans)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.528651Z", + "start_time": "2021-01-27T16:42:56.526088Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [], + "source": [ + "# unique labels (clusters of deployments) found by dbscan\n", + "unique_dbscan_labels = np.unique(dbscan.labels_)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.761522Z", + "start_time": "2021-01-27T16:42:56.530354Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving plot as '../../reports/figures/dbscan_0.325_5_20201203_1611765763.html'\n" + ] + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "customdata": [ + "01dcac72-145a-4897-928c-dc694c63dbc6", + "01e6753c-206e-4295-97a0-b58627a38f03", + "02dee447-86cb-4ff6-a7c0-78560724b6b8", + "07ab669f-ecd3-4dcb-abf7-61bd7b5497ea", + "11c7bcc5-b71e-4580-ab99-7e42022336a1", + "15d71e6b-ccd9-4b3c-86c9-3f4e36d14499", + "24bc14e9-93b9-448d-a855-753623fecbcf", + "2fbd7291-8729-43e4-9ba2-49fdf05eeb99", + "3528dd41-5a20-4736-925b-be94bfb5ad98", + "3b0d6406-7957-4ad9-98b0-79ddc83c2d5b", + "46155a9d-1330-49ae-aaa7-c46213e633e3", + "5a1c0d89-fb33-43cd-b25d-04db4ac04222", + "7cbfa338-4df4-49ee-99a1-5817ebdf76c2", + "89a4706c-0b90-41ef-8c4e-7455b253304e", + "8df7f319-d5f6-49fa-9df7-01c9aea9d0fe", + "98bee7c3-6254-4f06-9c95-09257e8f196d", + "9a1b5593-5124-4ac5-bd1c-e7e185e43527", + "a1f4d801-8164-4bd9-9a41-4508661c0582", + "d491eb1a-7c7c-40dd-837a-561d403a82b1", + "d9395395-f246-4cab-ae1d-505211c446b6", + "dfd3291e-e550-4960-b748-48bb15d0b0e3", + "e48f5eb4-777b-4de0-8186-7504af1431a5", + "f0d72eeb-d9fd-4d7b-b92b-6b6920a22838" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID -1", + "text": [ + "alert|default|AggregatedAPIDown
alert|kube-system|TargetDown|crio
alert|kube-system|TargetDown|kubelet
alert|openshift-cluster-csi-drivers|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-cluster-node-tuning-operator|NTOPodsNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-dns|TargetDown|dns-default
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-ingress-canary|KubeDaemonSetMisScheduled
alert|openshift-ingress-canary|KubeDaemonSetRolloutStuck
alert|openshift-ingress|KubeDeploymentReplicasMismatch
alert|openshift-ingress|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|TargetDown|machine-config-daemon
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubeStatefulSetReplicasMismatch
alert|openshift-monitoring|PrometheusNotConnectedToAlertmanagers
alert|openshift-monitoring|TargetDown|node-exporter
alert|openshift-monitoring|TargetDown|prometheus-operator
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|elasticsearch-metrics
alert|openshift-logging|TargetDown|fluentd", + "alert|kube-system|TargetDown|crio
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|KubePodNotReady
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "foc|version|Progressing|DownloadingUpdate|41a9
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|elasticsearch-metrics
alert|openshift-logging|TargetDown|fluentd", + "alert|ThanosQueryGrpcClientErrorRate
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-dns|TargetDown|dns-default
alert|openshift-ingress|KubeDeploymentReplicasMismatch
alert|openshift-ingress|TargetDown|router-internal-default
alert|openshift-monitoring|PrometheusErrorSendingAlertsToSomeAlertmanagers
alert|openshift-monitoring|TargetDown|alertmanager-main
alert|openshift-monitoring|TargetDown|prometheus-k8s
alert|openshift-monitoring|TargetDown|thanos-querier
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeAPIErrorsHigh
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cluster-version|CannotRetrieveUpdates", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-machine-api|TargetDown|machine-api-controllers
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|elasticsearch-metrics
alert|openshift-logging|TargetDown|fluentd", + "alert|FluentdNodeDown
alert|openshift-logging|TargetDown|fluentd
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode", + "alert|kube-system|TargetDown|crio
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ClusterAutoscalerOperatorDown
alert|openshift-dns|TargetDown|dns-default
alert|openshift-machine-api|TargetDown|cluster-autoscaler-operator
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
alert|openshift-multus|TargetDown|multus-admission-controller
alert|openshift-multus|TargetDown|network-metrics-service
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-machine-api|MachineWithNoRunningPhase
alert|openshift-machine-api|MachineWithoutValidNode", + "alert|default|KubeAPILatencyHigh", + "alert|default|KubeAPILatencyHigh", + "alert|MachineAPIOperatorDown
alert|default|KubeAPILatencyHigh
alert|etcdMembersDown
rule|ocp_version_end_of_life|OCP4X_BEYOND_EOL
rule|version_forced|FORCED_VERSION_UPDATES
rule|version_retarget|ABORTED_UPDATES_IN_RECENT_HISTORY", + "alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryGrpcClientErrorRate
alert|openshift-dns|TargetDown|dns-default
alert|openshift-image-registry|TargetDown|image-registry
alert|openshift-ingress|TargetDown|router-internal-default
alert|openshift-machine-api|MachineWithoutValidNode
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|PrometheusErrorSendingAlertsToSomeAlertmanagers
alert|openshift-monitoring|TargetDown|alertmanager-main
alert|openshift-monitoring|TargetDown|kube-state-metrics
alert|openshift-monitoring|TargetDown|prometheus-adapter
alert|openshift-monitoring|TargetDown|prometheus-k8s
alert|openshift-monitoring|TargetDown|thanos-querier
alert|openshift-multus|TargetDown|network-metrics-service
alert|openshift-sdn|TargetDown|sdn
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures", + "alert|default|KubeAPILatencyHigh
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-machine-api|TargetDown|machine-api-controllers
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|FluentdNodeDown
alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubePodNotReady
alert|openshift-logging|TargetDown|fluentd
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE" + ], + "type": "scatter3d", + "x": [ + -7.57185173034668, + 24.299129486083984, + -5.162714958190918, + -7.430389881134033, + 24.189117431640625, + -5.35587739944458, + -7.426082611083984, + -7.069526195526123, + -3.7356204986572266, + 24.247068405151367, + -5.468412399291992, + -5.273580551147461, + -7.037590026855469, + -6.26645040512085, + 15.006304740905762, + 15.006254196166992, + -0.22985664010047913, + 6.1047563552856445, + -5.356784343719482, + -5.991542339324951, + 19.397192001342773, + -3.7358646392822266, + 24.284372329711914 + ], + "y": [ + -26.779123306274414, + 16.93421745300293, + -27.239530563354492, + -26.67815589904785, + 16.817724227905273, + -26.864337921142578, + -26.405424118041992, + -26.616918563842773, + -26.42074203491211, + 16.877120971679688, + -27.076213836669922, + -27.177194595336914, + -26.302261352539062, + -26.968067169189453, + -15.773283958435059, + -15.77324390411377, + -25.314373016357422, + -22.13174057006836, + -26.866470336914062, + -27.129201889038086, + -6.159181594848633, + -26.420835494995117, + 16.918899536132812 + ], + "z": [ + 25.572540283203125, + 56.66353225708008, + 28.078872680664062, + 23.85738182067871, + 56.55369567871094, + 29.253093719482422, + 24.05994987487793, + 26.93425750732422, + 34.94251251220703, + 56.611610412597656, + 28.087081909179688, + 28.01077651977539, + 25.27708625793457, + 26.049564361572266, + 48.21512985229492, + 48.21510314941406, + 38.34010314941406, + 43.03556442260742, + 29.238508224487305, + 25.254777908325195, + 54.074031829833984, + 34.941436767578125, + 56.648799896240234 + ] + }, + { + "customdata": [ + "00e8050c-dc82-4a72-80c3-4b535243230f", + "2ee82b83-9810-4866-9eb8-f5e2e3367729", + "444a8760-ea00-46b9-9c91-ee5824382f35", + "4d1997d3-290b-4a9b-972a-27994db61beb", + "709db283-6a8d-4886-b132-98c77e30f47e", + "829ca3a0-69c4-40a1-8508-784135568ed6", + "84c00500-7615-4867-9995-654240256ee2", + "956afc1f-ee88-4fae-8c50-635629af1349", + "9980c1b3-d778-4813-8421-b99005a20605", + "a6b50ca7-8f81-4ac3-8432-03688ef6a581", + "b9ccf211-657f-4e7d-bd2e-747433cc68e8", + "c720fe02-c541-4a87-9ffc-351fd11dfe7f", + "d280e934-b02d-48bd-b224-210f9ea20fcc", + "e8510652-c560-4dda-b876-453d8aeb5826", + "f120ced6-0d37-4fa5-8749-5f1065b2a0e4", + "f1c202d1-55bc-44dd-9752-799562e21056", + "f8dcfdcc-a5a4-4154-808a-55539c240735" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 0", + "text": [ + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-image-registry|KubeContainerWaiting
alert|openshift-image-registry|KubePodNotReady
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|version|Failing|MultipleErrors|0e74", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Failing|MultipleErrors|3b4f", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|ThanosQueryHighDNSFailures
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|7756
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingPrometheusK8SFailed|4760
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "alert|ThanosQueryHighDNSFailures
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeClientErrors
alert|ThanosQueryHighDNSFailures
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-kube-controller-manager|TargetDown|kube-controller-manager
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentGenerationMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|7756
foc|kube-controller-manager|Degraded|StaticPods_Error|34f4
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|8930
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Failing|MultipleErrors|fa9b
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Failing|MultipleErrors|3b4f", + "alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "alert|ClusterNotUpgradeable
alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|machine-config|Degraded|RequiredPoolsFailed|0fa6
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311
foc|version|Upgradeable|One or more machine config pool is degraded, please see `oc get mcp` for further details and resolve before upgrading|54d5", + "alert|ThanosQueryHighDNSFailures
alert|default|AggregatedAPIDown
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET" + ], + "type": "scatter3d", + "x": [ + 14.701431274414062, + 14.604913711547852, + 14.590171813964844, + 14.493627548217773, + 14.411581993103027, + 14.659029006958008, + 14.592086791992188, + 14.510737419128418, + 14.679250717163086, + 14.683895111083984, + 14.577311515808105, + 14.504204750061035, + 14.750651359558105, + 14.632951736450195, + 14.769547462463379, + 14.53292465209961, + 14.615621566772461 + ], + "y": [ + 11.950806617736816, + 12.054142951965332, + 11.995240211486816, + 12.173516273498535, + 12.250931739807129, + 12.037797927856445, + 12.058063507080078, + 12.16656494140625, + 12.05622673034668, + 11.971056938171387, + 11.936927795410156, + 12.16248607635498, + 11.917290687561035, + 12.044049263000488, + 11.904377937316895, + 12.136640548706055, + 12.046242713928223 + ], + "z": [ + 21.78303337097168, + 21.80187225341797, + 21.812231063842773, + 21.947315216064453, + 22.0239200592041, + 21.875444412231445, + 21.860435485839844, + 21.95639419555664, + 21.980844497680664, + 21.84247398376465, + 21.894268035888672, + 21.930086135864258, + 21.849903106689453, + 21.782424926757812, + 21.850664138793945, + 21.9367618560791, + 21.844860076904297 + ] + }, + { + "customdata": [ + "00ecb624-57ad-4f9d-8580-b6e1373c5a45", + "02e77350-8c29-474d-8515-feb81e6a6877", + "0926aa4a-13a2-476a-9113-5d55f34018e8", + "09302ee7-4513-4875-86f5-535fd09fab30", + "0c5503fa-1a30-4c48-b396-4fc7127893d2", + "13667454-68b7-449f-81bc-367f0d40ce0c", + "139bb02a-2e61-49ba-8afa-de58cee335f5", + "1b135a7a-dd17-4a4f-9cda-8384cd43db7f", + "1b895c92-db37-4981-b69c-5a6acbbf6bf7", + "1bf4b0b6-354c-46c9-b99c-7541d6378178", + "2853cfe4-c68b-4225-b7ec-bb383b7794f1", + "359c24ed-34d7-4c40-a630-719e66fe854d", + "39a1bb00-1a15-473f-aefb-9222007fb00c", + "4871beb2-83a8-4909-a05a-377a0aaf527d", + "56721f1e-22de-46e0-be9b-d9fd7c75f2da", + "5b0b6daf-c284-4fcb-8500-fe5633a7bea8", + "5cdfbdf7-5970-4a2b-9e60-5e5c8bd9b34a", + "6f5910c6-f9ea-4b8f-8c0c-bddca00356c0", + "7065cf2c-c46f-44e9-9d79-e11693a80543", + "803ded60-5e5a-4221-b465-46a1ef0cbd76", + "80a2d474-2fa7-42af-9588-7a3cd4459f8e", + "856d4d91-a539-4f04-b156-17dbb8b083e1", + "863cf1b9-7307-4612-8aaa-8aa47aef2f77", + "9585308b-89cd-486b-87d7-eebc004f51e7", + "a45fb89d-2e63-464e-bb9d-c75bbd407f69", + "a78e1833-9234-47c2-80b4-169a951f28ca", + "ae367f95-cb50-4e03-abad-f4f7e168944a", + "c18d0632-d41e-4782-aa2c-311348002bb8", + "c487533f-581d-4eed-88bf-2fea69666aae", + "c98f1697-0952-4da5-a443-1ca24a1a78ab", + "cdb52d2e-b937-46ac-a6ae-9fbb153b6aea", + "d0258a17-4399-480b-b633-596c72741c51", + "d11454d4-0d5d-4b4c-8eb8-4d5856a16980", + "d2089b46-4446-4bd6-8cf7-5d99aac9c52a", + "d6503dfe-856c-43dd-9848-b1e8b841df50", + "ea70b1d4-eae9-4a1a-a23d-4d5e564e276b", + "f4d5f271-1576-4df9-ae42-462c2bf73ca9", + "fd08c95b-f367-45be-8bf2-7c93bb74c52e" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 1", + "text": [ + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|default|KubeAPILatencyHigh
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|default|KubeAPILatencyHigh
alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-logging|KubeDaemonSetRolloutStuck
alert|openshift-logging|KubeDeploymentReplicasMismatch
alert|openshift-logging|KubePodNotReady
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
alert|openshift-kube-apiserver-operator|TechPreviewNoUpgrade
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|etcdMembersDown
alert|openshift-image-registry|ImagePruningDisabled
alert|openshift-monitoring|KubeNodeUnreachable
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-image-registry|ImagePruningDisabled
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-marketplace|KubeContainerWaiting
alert|openshift-marketplace|KubePodNotReady
foc|image-registry|Progressing|Error|79db
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|tekton-pipelines|PodDisruptionBudgetAtLimit
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED" + ], + "type": "scatter3d", + "x": [ + 18.07594108581543, + 18.144577026367188, + 18.63059425354004, + 18.621116638183594, + 18.681827545166016, + 18.226787567138672, + 18.94855308532715, + 18.147584915161133, + 17.94161605834961, + 18.24131202697754, + 18.810264587402344, + 18.631898880004883, + 18.086484909057617, + 19.005802154541016, + 18.038145065307617, + 18.2108154296875, + 18.270740509033203, + 18.148122787475586, + 18.712482452392578, + 18.642213821411133, + 18.273216247558594, + 18.484359741210938, + 18.90683364868164, + 18.958452224731445, + 18.10479736328125, + 18.305288314819336, + 19.025781631469727, + 18.546592712402344, + 18.708141326904297, + 18.158512115478516, + 18.071727752685547, + 18.447555541992188, + 18.529943466186523, + 18.207677841186523, + 18.188343048095703, + 18.533987045288086, + 18.236581802368164, + 18.441099166870117 + ], + "y": [ + -5.9461798667907715, + -5.895166397094727, + -6.082215785980225, + -6.035512924194336, + -6.064774990081787, + -6.198072910308838, + -6.022517681121826, + -6.09999418258667, + -6.2541327476501465, + -6.100539684295654, + -6.159736156463623, + -6.105352878570557, + -5.914007186889648, + -5.949207782745361, + -6.129349231719971, + -6.096770286560059, + -6.147867202758789, + -5.993408203125, + -6.112416744232178, + -6.122944355010986, + -6.3208112716674805, + -6.0539069175720215, + -6.019707679748535, + -5.965411186218262, + -6.153355598449707, + -5.89190673828125, + -5.987359523773193, + -5.782250881195068, + -6.13960599899292, + -6.023045063018799, + -5.969045639038086, + -5.971152305603027, + -5.956844806671143, + -6.023324966430664, + -6.09067440032959, + -5.990329265594482, + -6.069391250610352, + -6.270835876464844 + ], + "z": [ + 53.72732925415039, + 53.502891540527344, + 53.778053283691406, + 53.69913864135742, + 53.75299072265625, + 53.8009147644043, + 53.64635467529297, + 53.733890533447266, + 53.565147399902344, + 53.761505126953125, + 53.89307403564453, + 53.75702667236328, + 53.57343673706055, + 53.68470001220703, + 53.48530197143555, + 53.68459701538086, + 53.653228759765625, + 53.664974212646484, + 53.8111686706543, + 53.81877136230469, + 53.91914367675781, + 53.645172119140625, + 53.6876335144043, + 53.64399719238281, + 53.80305480957031, + 53.492103576660156, + 53.65849304199219, + 53.730770111083984, + 53.844642639160156, + 53.6658821105957, + 53.72597885131836, + 53.69868469238281, + 53.67804718017578, + 53.66916275024414, + 53.7143440246582, + 53.729949951171875, + 53.70216751098633, + 53.93247604370117 + ] + }, + { + "customdata": [ + "01427d31-d077-4f59-baae-f6eb3709d97b", + "036fd0c4-fdc1-4675-bbfe-3c5c3a7aff15", + "04197076-def0-4377-ac12-19ca9ad14a54", + "06f1b300-3ac4-443e-95d7-ca7e406168a1", + "075253f0-1284-49d1-b240-cf341df5e4c3", + "0a3e106c-6768-487d-be2d-39b057313c2e", + "0e50f47c-2f1b-46a5-850c-a3355288cea1", + "1d12afdf-2cce-4ee9-ac9a-c4d4660e4a77", + "1dfce2ec-88ca-4d33-9252-fa0a21fe6969", + "2184c66f-924e-4504-9c15-637dca3ad3b8", + "263b8380-63b1-4207-8ad2-05557151fa12", + "2e6d3bc4-636b-4844-8e4c-516694afab07", + "2e753c82-ebfb-4671-bc97-610766f6a584", + "307b0713-abce-4f4d-a1cd-d913afa17807", + "346a88ef-b219-473c-9845-d71af4eaa920", + "403c68bd-4953-4b3c-8be6-4e8b674921a0", + "4291db12-e40c-43a4-9cbc-945ab8a68c82", + "45c7192f-cc3a-4893-b3c4-3bde25fe072c", + "45f57b15-d2c6-4003-a230-c5b4186d3843", + "46b0b5f6-30b3-4825-b28f-d0e9dca3fa2c", + "4a4c4cbc-f465-4704-a970-a236e8984a2a", + "565ca940-82d4-41b5-ab4f-bce6ca2fe894", + "57b96d06-ff1b-4ae4-864e-ef49ef80f4aa", + "597d58e8-7316-48cf-b298-b16fcdffd179", + "5ca1c465-2fb1-4baf-8d5c-506ba3692dfd", + "5cfd7901-11ca-423e-bde7-5779ca03ecb7", + "5ddc8ee8-7cb8-4d95-9953-ee573e52b01b", + "5edf5484-c068-4be3-a902-84ad4dea25c1", + "5efdafdf-ec13-4a7c-bcae-8de93b304d00", + "63014021-a9e1-46df-b926-4612b46d3b05", + "6a0c127a-8eec-4301-a16a-0f29f38f3581", + "6c7ddd05-4f0b-4a03-8972-48660095dd3c", + "6f0580f3-0537-488c-8dc7-2f7386802f59", + "705ab3d3-443c-49ba-a5f3-271d685d3c73", + "7301abcd-a283-414e-bb7a-53e606831be7", + "7386fc3f-de42-4e1c-8218-27c9579385ab", + "76d337a6-9783-4bdd-bbc4-1aa0af9249b0", + "7939ed7f-487f-472a-8dd2-05eb4aed5858", + "7cd56418-a88b-4745-ad4a-c9111cd3707d", + "8c4cde8d-1de4-47b6-be65-a3c872cd7d74", + "92e24ec4-e057-4508-a1e3-aa66d4cfb365", + "9548e942-7c82-4e41-87c8-78a4519b5e31", + "9d020a6c-5617-437b-8ccc-13918a31bcc1", + "9fca228b-5e75-4200-aded-f3e896c98ff2", + "a2b088e2-c26a-4bd8-86bc-c1cdeff4ff5e", + "a45cf093-6a5c-43fe-8d35-a99c7629b45a", + "a4e9ea2a-1be9-4cf3-91e3-b736d51ff577", + "ac7022e6-2bd4-456c-8d78-beb70469b218", + "ad78fd9f-ef8a-43d0-9211-ceee02f5d666", + "afeb8eb3-898f-4cdb-a3ef-ab3a4987568e", + "b12ec028-fdde-43de-b1da-5c22826a7c65", + "b7ab4c53-4fcf-43a0-b69f-4a80e36135d7", + "b7c0830c-0f6f-4ceb-a3ae-647fa62ddc51", + "bbb174a6-361c-4301-a36f-ac5829407288", + "c29c2145-34b5-4855-bf85-3de69ec3ef0f", + "c4ea5233-df0b-4856-8174-16595b9f3994", + "c653bbd4-880c-4dd7-83b6-46876531c4e3", + "c85c0fdb-c7ab-4762-b5a8-f5081febe9d5", + "ca023e55-e92b-4aea-b3de-7b74db08ec49", + "cca2f3fd-5686-45c3-9a64-5355e2ea421f", + "d263f7cf-27a6-4d15-bfd3-56044783b3d9", + "d5e27157-0ace-45a4-a296-3a1ac6e711fa", + "deb1cf82-5076-43c4-b21c-b3ebf567ed8f", + "e8f3e04a-d45b-40af-b8a4-5ede7d83f437", + "ea340aa6-2bfe-4d63-b71b-2a930987a45e", + "ee090aad-c491-4aa4-99f1-c14aca5d72a4", + "eef7aa97-4b23-41f6-9cac-32c33eccd9e6", + "f0038537-7aef-49f8-b21f-b152c5755404", + "f41083a9-5d8b-49ad-a3a8-64ab04c7e62f", + "f9f4cd7e-e9e3-4951-b24a-9109a6c5135e", + "fa6f46ba-109a-419f-ba8a-dd06dd7ed2f2", + "fd2c664f-3f59-4ffa-9a93-7f81d7fa9301", + "ff4c3998-8cfa-4bd8-b2b8-7fa30e88748c" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 2", + "text": [ + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-image-registry|KubeJobFailed
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|default|AggregatedAPIDown
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-operator-lifecycle-manager|FailingOperator
alert|openshift-storage|KubeDeploymentReplicasMismatch
alert|openshift-storage|KubePodNotReady
alert|openshift-storage|PodDisruptionBudgetAtLimit
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures
alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|knative-serving|PodDisruptionBudgetAtLimit
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ClusterNotUpgradeable
alert|ThanosQueryHighDNSFailures
rule|bug_1766907|BUGZILLA_BUG_1766907
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ClusterNotUpgradeable
alert|openshift-cluster-csi-drivers|KubeContainerWaiting
alert|openshift-cluster-csi-drivers|KubeDeploymentReplicasMismatch
alert|openshift-cluster-csi-drivers|KubePodNotReady
alert|openshift-console|KubeDeploymentReplicasMismatch
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeAPIErrorBudgetBurn
alert|openshift-console|KubeDeploymentReplicasMismatch
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeAPIErrorBudgetBurn
alert|openshift-config-operator|TargetDown|metrics
alert|openshift-etcd|etcdMemberCommunicationSlow
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|ThanosQueryHighDNSFailures
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_pressure_check|NODE_PRESSURE
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|kube-system|TargetDown|crio
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|default|AggregatedAPIDown
alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeClientErrors
alert|openshift-operator-lifecycle-manager|FailingOperator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-debug-network-hi92x|KubeDeploymentReplicasMismatch
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE" + ], + "type": "scatter3d", + "x": [ + -4.814838886260986, + -5.044735908508301, + -4.911405563354492, + -4.93621826171875, + -4.690492630004883, + -5.0703840255737305, + -4.811809062957764, + -5.30787467956543, + -4.882497310638428, + -4.8765764236450195, + -4.731571674346924, + -4.946216583251953, + -4.920126914978027, + -5.1693925857543945, + -5.0991950035095215, + -5.398678779602051, + -4.847675323486328, + -5.3329291343688965, + -5.30719518661499, + -5.409651756286621, + -5.335118770599365, + -5.3941755294799805, + -5.8678364753723145, + -5.0008344650268555, + -4.929974555969238, + -5.160518169403076, + -4.937394618988037, + -5.105307102203369, + -5.586767673492432, + -5.254342079162598, + -5.006967544555664, + -5.537913799285889, + -4.935520648956299, + -4.970097541809082, + -5.402115345001221, + -5.121963024139404, + -5.073592662811279, + -5.37355375289917, + -4.968536853790283, + -5.394909381866455, + -5.389856815338135, + -5.199159622192383, + -5.095884323120117, + -5.079482555389404, + -5.635665416717529, + -5.244890213012695, + -5.452732086181641, + -5.180203437805176, + -5.480380535125732, + -5.357151985168457, + -5.363295555114746, + -5.619442939758301, + -5.57445764541626, + -5.6207275390625, + -5.13228702545166, + -5.409615993499756, + -5.0902557373046875, + -5.024299144744873, + -5.2081217765808105, + -5.423428535461426, + -5.4898505210876465, + -5.187485694885254, + -5.185638904571533, + -5.155665874481201, + -4.9961748123168945, + -5.81713342666626, + -5.178189754486084, + -5.760660648345947, + -5.542363166809082, + -5.166417121887207, + -5.172086715698242, + -5.253601551055908, + -5.15774393081665 + ], + "y": [ + -27.64413070678711, + -27.465065002441406, + -28.117168426513672, + -27.93771743774414, + -27.71525001525879, + -28.205488204956055, + -28.115406036376953, + -28.28400421142578, + -27.58123779296875, + -27.84193992614746, + -27.853567123413086, + -27.986417770385742, + -28.054819107055664, + -27.784486770629883, + -27.860286712646484, + -28.04203224182129, + -27.81466293334961, + -27.692333221435547, + -27.474132537841797, + -28.09868621826172, + -27.480594635009766, + -27.728710174560547, + -27.910354614257812, + -28.070316314697266, + -28.000648498535156, + -27.711545944213867, + -27.882658004760742, + -28.0564022064209, + -27.925264358520508, + -28.087095260620117, + -28.009626388549805, + -27.951839447021484, + -27.70336151123047, + -27.86338233947754, + -27.85909652709961, + -27.841447830200195, + -27.623075485229492, + -27.773069381713867, + -27.69452476501465, + -27.748140335083008, + -27.75275421142578, + -28.031513214111328, + -27.78474998474121, + -28.013376235961914, + -28.00985336303711, + -27.595962524414062, + -27.95162582397461, + -27.575119018554688, + -27.6356143951416, + -27.74905776977539, + -27.616464614868164, + -27.768327713012695, + -27.913951873779297, + -27.780792236328125, + -27.830886840820312, + -27.638559341430664, + -27.656038284301758, + -27.658693313598633, + -27.892642974853516, + -27.791004180908203, + -27.74013900756836, + -27.791181564331055, + -27.805994033813477, + -27.870553970336914, + -27.77030372619629, + -27.661760330200195, + -27.816354751586914, + -27.58287811279297, + -27.70599937438965, + -27.788694381713867, + -27.889602661132812, + -27.92205047607422, + -27.809406280517578 + ], + "z": [ + 24.568273544311523, + 24.40227699279785, + 23.92687225341797, + 24.632997512817383, + 24.332008361816406, + 24.539045333862305, + 24.4237060546875, + 24.150197982788086, + 24.215778350830078, + 24.056087493896484, + 24.518829345703125, + 24.35751724243164, + 24.06218719482422, + 23.906553268432617, + 24.526748657226562, + 24.436697006225586, + 24.354955673217773, + 24.496191024780273, + 24.191495895385742, + 23.7010440826416, + 24.318138122558594, + 24.205909729003906, + 23.505857467651367, + 23.922693252563477, + 24.18799591064453, + 24.01413345336914, + 24.296422958374023, + 24.254764556884766, + 23.653209686279297, + 24.83572769165039, + 24.69959831237793, + 23.64906883239746, + 23.907304763793945, + 24.293447494506836, + 23.645246505737305, + 24.78632354736328, + 23.94640350341797, + 23.632478713989258, + 24.11336898803711, + 24.18075180053711, + 23.68899154663086, + 24.132116317749023, + 24.177982330322266, + 24.268413543701172, + 23.783388137817383, + 24.360374450683594, + 24.217248916625977, + 24.315628051757812, + 23.713123321533203, + 24.20380210876465, + 24.107362747192383, + 23.829452514648438, + 23.80571937561035, + 23.70301628112793, + 24.38848876953125, + 23.836633682250977, + 24.30832290649414, + 24.06720542907715, + 24.75918197631836, + 23.863956451416016, + 23.94976234436035, + 24.42156219482422, + 24.633792877197266, + 24.17633628845215, + 24.11170196533203, + 23.487455368041992, + 24.103260040283203, + 23.568395614624023, + 23.750118255615234, + 24.09163475036621, + 24.194364547729492, + 24.07845687866211, + 24.000442504882812 + ] + }, + { + "customdata": [ + "017661cd-de64-4352-8ffe-e70b69965027", + "067f23cf-43aa-4738-9309-3b07aa80a92d", + "0a0b8963-0e2b-4945-ad04-bf339047623d", + "0bb28b9b-79b5-4446-b534-43ac59ff1481", + "48f92b36-5f13-4df6-b4f9-65211e0ad550", + "49c4a94f-73b6-4d01-8089-95607c3ac705", + "4b35497a-1970-4e97-b2a2-4aa19595452e", + "4ba16e7d-912d-407a-82e0-ddcfa9b68e8e", + "56428039-9c90-490f-b7a0-e88ffe76c005", + "59fe0aa8-8a02-49e1-9d10-e315cef77724", + "67543532-bac4-46ab-b29b-d838a47c72dc", + "689d2b0d-2116-4795-93fd-25cc72d9fbee", + "713f8d66-2f7f-4dec-9fc5-bed1851abf1c", + "80d643cb-31b5-400d-8ade-1658a1c21032", + "8db3077f-60a0-4a66-ad41-890567d52a7f", + "9179a469-28e4-4eae-9762-97964adad2e0", + "a9d08919-a2e1-49c8-b17e-2bcdb7aefd2e", + "b60cdb27-f910-4adb-8ca5-672fe0280e4b", + "ba33eba8-82e8-4494-b688-4fbae054d70a", + "ba4879f6-2c1d-492b-95b2-be7ab7146efe", + "c73d5634-c78a-4f44-9c8d-9d879a55aab5" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 3", + "text": [ + "foc|version|Failing|WorkloadNotAvailable|7a6a", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "alert|openshift-monitoring|KubeNodeUnreachable", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "rule|nodes_pressure_check|NODE_PRESSURE", + "alert|default|KubeAPILatencyHigh", + "rule|nodes_pressure_check|NODE_PRESSURE", + "alert|openshift-operator-lifecycle-manager|FailingOperator", + "rule|nodes_pressure_check|NODE_PRESSURE", + "alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "rule|bug_1766907|BUGZILLA_BUG_1766907", + "rule|nodes_pressure_check|NODE_PRESSURE", + "alert|openshift-cluster-version|CannotRetrieveUpdates", + "foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
foc|monitoring|Progressing|RollOutInProgress|f311", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED", + "alert|ThanosQueryHighDNSFailures", + "alert|openshift-monitoring|KubeNodeUnreachable", + "alert|ThanosQueryHighDNSFailures", + "foc|image-registry|Progressing|Error|79db", + "rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED" + ], + "type": "scatter3d", + "x": [ + -6.407799243927002, + -6.583059310913086, + -5.983137607574463, + -6.4932074546813965, + -6.200707912445068, + -6.221963405609131, + -6.212206840515137, + -6.216485500335693, + -6.229846000671387, + -6.249646186828613, + -6.327864170074463, + -5.892481327056885, + -6.182474136352539, + -6.312941074371338, + -5.937560081481934, + -6.096992492675781, + -6.02660608291626, + -6.083723545074463, + -6.025033473968506, + -6.255163192749023, + -6.07065486907959 + ], + "y": [ + -27.560924530029297, + -27.216550827026367, + -27.124618530273438, + -27.396469116210938, + -27.488170623779297, + -27.28164291381836, + -27.127492904663086, + -27.34534454345703, + -27.163732528686523, + -27.304758071899414, + -27.438535690307617, + -26.859600067138672, + -27.22418212890625, + -27.088550567626953, + -27.384544372558594, + -27.138900756835938, + -27.17331314086914, + -27.23386573791504, + -27.162738800048828, + -27.343626022338867, + -27.21497917175293 + ], + "z": [ + 24.455217361450195, + 24.460609436035156, + 24.27526092529297, + 24.61604118347168, + 24.557565689086914, + 24.513809204101562, + 24.381132125854492, + 24.603069305419922, + 24.447097778320312, + 24.64521026611328, + 24.22368621826172, + 24.39542007446289, + 24.441322326660156, + 24.351051330566406, + 24.43136215209961, + 24.129762649536133, + 24.638032913208008, + 24.16557502746582, + 24.60442543029785, + 24.2659969329834, + 24.198200225830078 + ] + }, + { + "customdata": [ + "017d9336-b042-4e7d-a718-c5e2ed3d44a3", + "07cba83d-3b93-4e04-94ad-27e5d792ce77", + "177bb979-239f-4fbe-aac2-c3c4c30948da", + "206d4f85-565a-4912-86e6-60d8effdd66b", + "34e3e7ac-dbf9-4d39-af71-ccb622f15e3e", + "4497eba5-7787-4b0f-9484-428822739a78", + "4bc4f8ba-a8b7-4bd8-b7ce-d206a9fffaac", + "56147424-36d9-464a-87d8-03a4c9889bb3", + "562da8a7-ebf1-466a-be0e-a99ad6473c0c", + "74587daa-1a4e-4438-84cf-09f8ef4a2154", + "78d23f68-b428-4b83-aead-401b33521830", + "7bac7a66-f63a-4344-bc73-626a58c047c7", + "bfe68641-4488-4a67-9e9d-9208588bf96f", + "c2e2b6b3-64be-4090-9f90-7848a348ad9c", + "c84b060f-7e34-4c06-bb61-703ac2793b69", + "cc16de56-889f-4536-a196-5500305264c7", + "d4a0f4c0-57aa-45cf-a717-032fcc532c30", + "ded575f0-480b-4d6c-9a6f-de56594edbbc", + "ec7e2358-59d0-4882-bce5-1e1783517eac", + "f38fe275-366a-4c2b-a719-9d6a50dc34f3" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 4", + "text": [ + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|PrometheusErrorSendingAlertsToSomeAlertmanagers
alert|openshift-monitoring|TargetDown|alertmanager-main
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
rule|version_forced|FORCED_VERSION_UPDATES", + "foc|machine-config|Degraded|RequiredPoolsFailed|d1fc
rule|version_forced|FORCED_VERSION_UPDATES
rule|version_retarget|ABORTED_UPDATES_IN_RECENT_HISTORY", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_forced|FORCED_VERSION_UPDATES" + ], + "type": "scatter3d", + "x": [ + -7.075637340545654, + -7.020079135894775, + -6.932839393615723, + -7.051228046417236, + -6.919513702392578, + -7.010329246520996, + -6.678353786468506, + -6.8952531814575195, + -6.936687469482422, + -6.7844696044921875, + -6.9561896324157715, + -6.855470180511475, + -6.894435405731201, + -6.904990196228027, + -6.824306964874268, + -6.923197269439697, + -6.857708930969238, + -6.920022964477539, + -6.988371849060059, + -6.891895771026611 + ], + "y": [ + -26.336523056030273, + -26.18734359741211, + -26.374828338623047, + -26.17220687866211, + -26.440170288085938, + -26.226490020751953, + -26.490737915039062, + -26.5472412109375, + -26.3290958404541, + -26.452499389648438, + -26.537071228027344, + -26.584300994873047, + -26.323633193969727, + -26.295366287231445, + -26.47551727294922, + -26.412498474121094, + -26.34971809387207, + -26.36805534362793, + -26.304466247558594, + -26.463390350341797 + ], + "z": [ + 23.98715591430664, + 23.791494369506836, + 23.783222198486328, + 24.04662322998047, + 23.76462745666504, + 24.199909210205078, + 24.10161781311035, + 24.16397476196289, + 24.300708770751953, + 23.919076919555664, + 24.192428588867188, + 24.067686080932617, + 24.25131607055664, + 24.05539894104004, + 23.9949951171875, + 23.79336166381836, + 23.8762149810791, + 23.887775421142578, + 23.84055519104004, + 23.8532772064209 + ] + }, + { + "customdata": [ + "022d5393-3557-44b7-820b-0e6a657a70be", + "2cac5cdb-aa8b-46f4-b932-03134cbbe4e7", + "41971f60-413d-42a2-a412-03b0c0ee3c5d", + "4b7ef91e-6a43-46f1-8f25-d43c3d4b7c03", + "593e8aa6-6760-4d47-868a-2f5d15d44e99", + "6494e8ba-b1aa-4280-8af6-2e635ea38e13", + "8b79ba23-c02b-45f8-9bee-27f82dcadf37", + "8ecd19e5-4f74-40ce-8ac6-1259d037c22a", + "a0d72a81-896e-4d48-bc87-8b5329baa173", + "baaa3dc4-9489-44b5-9f20-4b368e401b9a", + "d8f66384-903c-48ad-be64-b49a2bd9aabb" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 5", + "text": [ + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|openshift-kube-apiserver-operator|TechPreviewNoUpgrade
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "alert|knative-serving|PodDisruptionBudgetAtLimit
rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED", + "rule|ingress_operator_degraded_with_reason_ingresscontrollers|INGRESS_OPERATOR_DEGRADED_WITH_REASON_INGRESSCONTROLLERSDEGRADED" + ], + "type": "scatter3d", + "x": [ + -6.359860420227051, + -6.367044925689697, + -6.368623733520508, + -6.31596565246582, + -6.28857946395874, + -6.422153472900391, + -6.464454174041748, + -6.343450546264648, + -6.332729339599609, + -6.284247875213623, + -6.375609874725342 + ], + "y": [ + -26.916194915771484, + -26.91396141052246, + -26.94698715209961, + -26.971708297729492, + -26.95482635498047, + -26.868894577026367, + -26.807971954345703, + -26.937389373779297, + -26.947309494018555, + -26.98289680480957, + -26.928783416748047 + ], + "z": [ + 27.452320098876953, + 27.414518356323242, + 27.442197799682617, + 27.19668960571289, + 27.407264709472656, + 27.516721725463867, + 27.261642456054688, + 27.41499137878418, + 27.289142608642578, + 27.068078994750977, + 27.371593475341797 + ] + }, + { + "customdata": [ + "02a78a9b-5460-4570-af0a-e3237c4237c1", + "0625c051-b467-428f-b349-898a76e34d07", + "1131ee6a-71a4-46b8-8138-fdd489d7cfe0", + "131bbca2-2acb-4d10-bbf2-f4cf508009f6", + "1963acde-d493-430f-a70e-e71281e217c8", + "26de89f2-ef43-490c-84e3-93c9a2080d19", + "2d5acf77-d8ba-48ca-80ba-9a5465641c17", + "352d8a12-7fe9-4af7-8630-4c5df967aae2", + "4220f455-30ed-4559-90b2-8e15f1d69fe7", + "51ac26ba-f5a1-40c0-872e-49ef97e8af61", + "5c9dad2d-9146-4557-93d0-bfa481530c1e", + "62563bc7-da63-42a6-bbb2-1e5e3265e4f8", + "6441f67d-b986-472e-af2a-aff46a913b16", + "822106d4-8a95-49c9-bdd5-8b88965d8ab0", + "855ba28d-c36a-47c9-8bc8-b8ecb83d1f21", + "8711acb7-5776-42cb-9f0c-e071db145b50", + "8aab2aca-1d46-4ac4-87d3-542d6fc9d5e8", + "a3a2a859-6949-4d30-81d1-ada11d764671", + "a75495a0-53d4-4c3a-bd9f-16e11feee96a", + "adbb53d6-d024-452e-9d9b-ba7738d948ad", + "ade05133-5516-45f4-b79e-e7f5e660b2e6", + "b2161864-15dc-4ce3-b3f5-ee3af715c9d0", + "b3ba49ef-eb5f-4483-adbc-d3b70ca72c85", + "b850ce60-f4b8-47e5-ba16-4b32bb919ec6", + "bb18f4d8-faf6-4a92-9c91-4feb687029c4", + "bca08c1f-1c9c-4771-911d-0992edc1ba18", + "c28867a3-e8e6-471c-ac7b-1e7e349f9d25", + "c342ef60-2ef0-46de-857b-8d7f83eaf65e", + "c37d2385-7481-48ea-97c3-180d570469d9", + "cc967684-f052-4ed9-b86e-1f287a36f58d", + "cf9e5e27-6a7a-423a-8603-ff4061bc51b6", + "e45c3232-0c41-453e-910a-da8cb8b1fbd3", + "e7769325-1f7a-4328-b357-832736a6227d", + "e90c3905-5e0a-4616-8d37-def0b995424f", + "e9598dae-8938-4cb7-b346-24bcb85f523f", + "e9b97d55-437c-45e0-85dd-108f923adb07", + "edddbe74-5280-446a-8c94-f1fdbd340a58", + "f10bc131-ccfd-4fe8-832d-8aa442faf573", + "f5b85ad5-abe0-42eb-84f9-cf2d70d085e2", + "f912b681-97c4-48bb-a8ff-aed3b3ac1f25", + "fdb730b7-27b8-441c-884f-4e4c87267c5e" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 6", + "text": [ + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_pressure_check|NODE_PRESSURE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|KubeAPIErrorBudgetBurn
alert|openshift-etcd|etcdHighCommitDurations
alert|openshift-etcd|etcdHighFsyncDurations
alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
foc|network|Degraded|ApplyOperatorConfig|a60e
foc|network|Degraded|ApplyOperatorConfig|e879
foc|version|Failing|MultipleErrors|eb7a
rule|certificates_not_approved|CERTIFICATES_NOT_APPROVED
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
foc|version|Failing|WorkloadNotAvailable|7a6a
foc|version|Failing|WorkloadNotAvailable|eb07", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
foc|version|Failing|WorkloadNotAvailable|7a6a", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeContainerWaiting
alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
alert|tekton-pipelines|PodDisruptionBudgetAtLimit", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
alert|openshift-operator-lifecycle-manager|FailingOperator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubeDeploymentReplicasMismatch
alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator" + ], + "type": "scatter3d", + "x": [ + -1.1922708749771118, + -1.6985814571380615, + -0.7400919795036316, + -1.5929874181747437, + -1.5694812536239624, + -1.603980541229248, + -1.6609220504760742, + -1.3275141716003418, + -1.498488187789917, + -1.7241560220718384, + -1.6113970279693604, + -1.5855491161346436, + -1.484007716178894, + -1.4721779823303223, + -1.5603101253509521, + -1.6564605236053467, + -1.4695523977279663, + -1.4494723081588745, + -1.5687144994735718, + -1.4258058071136475, + -1.366783618927002, + -0.8481283783912659, + -1.525602102279663, + -1.2286872863769531, + -1.625158429145813, + -1.5608052015304565, + -1.3400657176971436, + -1.33734929561615, + -1.6320915222167969, + -1.509687066078186, + -0.8963751196861267, + -1.4994255304336548, + -0.7883594632148743, + -1.2136008739471436, + -1.3632787466049194, + -1.5000979900360107, + -1.5002319812774658, + -1.3828365802764893, + -1.0650038719177246, + -1.3062107563018799, + -1.4513665437698364 + ], + "y": [ + 8.528918266296387, + 8.344063758850098, + 8.635396957397461, + 8.631075859069824, + 8.519402503967285, + 8.822068214416504, + 8.439791679382324, + 8.337406158447266, + 8.512685775756836, + 8.694847106933594, + 8.740100860595703, + 8.477258682250977, + 8.71697998046875, + 8.802658081054688, + 8.752095222473145, + 8.669106483459473, + 8.560523986816406, + 8.639897346496582, + 8.63701057434082, + 8.652303695678711, + 8.534278869628906, + 8.643148422241211, + 8.427978515625, + 8.433550834655762, + 8.600713729858398, + 8.568625450134277, + 8.499092102050781, + 8.652801513671875, + 8.718467712402344, + 8.638826370239258, + 8.666205406188965, + 8.61318302154541, + 8.639701843261719, + 8.505294799804688, + 8.661144256591797, + 8.6274995803833, + 8.607436180114746, + 8.578200340270996, + 8.617544174194336, + 8.500396728515625, + 8.65102767944336 + ], + "z": [ + 20.088409423828125, + 20.188838958740234, + 19.709930419921875, + 20.011573791503906, + 20.15454864501953, + 20.062768936157227, + 20.27866554260254, + 20.13187026977539, + 20.340328216552734, + 19.96795654296875, + 20.358552932739258, + 20.257465362548828, + 20.310152053833008, + 19.829748153686523, + 19.79663848876953, + 20.028968811035156, + 20.37648582458496, + 19.93271255493164, + 20.162456512451172, + 20.25800895690918, + 20.169864654541016, + 19.760356903076172, + 20.183237075805664, + 20.23876190185547, + 20.364225387573242, + 20.364789962768555, + 20.272146224975586, + 20.247716903686523, + 19.977460861206055, + 20.269813537597656, + 19.78512954711914, + 20.283985137939453, + 19.7271671295166, + 20.093976974487305, + 20.234962463378906, + 20.24287986755371, + 20.27212905883789, + 20.223812103271484, + 19.919597625732422, + 20.166851043701172, + 20.265117645263672 + ] + }, + { + "customdata": [ + "04d9e7a0-d723-4b8c-b2de-d4d805402279", + "12ba5926-55ec-4c19-bf22-9103dc22d636", + "17af723a-6691-46f8-98d1-af803ae8741f", + "202580af-d984-4d09-b53c-3a47d8ce6cdb", + "2abe83ff-b531-4639-9ce8-11e5f6ea16e2", + "2c35e944-e5b1-4067-948e-f2eb0d5258c9", + "35a9ab3e-ac0d-474a-9ecf-f504fad46767", + "44c72d60-7d0e-4c7c-938e-c42dd7a28db5", + "470cc80f-8251-4060-a1f6-8e39cf7eac62", + "4913c901-acb5-4797-aa0f-e9d95b888e89", + "6f120ef1-d4f8-4b5e-8a37-d95a0f4bef5e", + "76747c92-faf8-48ee-acd9-0d6395a00456", + "7b53bbce-2d33-481e-982a-b653ef3a9b1c", + "7fc5aaad-906f-411b-9ea7-278f2fd2aaec", + "aaed39a6-9f44-4276-8069-d2b67839a0e7", + "c4fc96fa-c77f-4a98-beca-8df506d11970", + "cad907fa-b997-410e-a4c3-b0a7eeac9880", + "cd05ad54-41e8-4e67-8a5b-9589caa89892", + "e660f005-4d9a-4243-8af1-9a535df6b6bf", + "e9d7ff39-1b62-4aee-9494-f51d395f2ef3", + "eaad0788-7af4-4885-9d44-5ee82f852230", + "f1e1d121-a467-4409-be64-88dc48e10def", + "f20a75fa-4baa-4a1a-a35f-25866ba56982" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 7", + "text": [ + "alert|KubeClientErrors
alert|openshift-image-registry|ImagePruningDisabled
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors
foc|openshift-samples|Degraded|APIServerTimeoutError|327e
foc|version|Failing|MultipleErrors|3946
foc|version|Progressing|MultipleErrors|b12b
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_pressure_check|NODE_PRESSURE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|TargetDown|openshift-state-metrics
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|CloudCredentialOperatorDown
alert|openshift-etcd|etcdMemberCommunicationSlow
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|KubePodNotReady
alert|openshift-multus|TargetDown|multus-admission-controller
foc|network|Degraded|RolloutHung|443c
foc|network|Progressing|Deploying|2264
rule|nodes_pressure_check|NODE_PRESSURE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-image-registry|ImagePruningDisabled
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|CloudCredentialOperatorDown
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-etcd|KubeContainerWaiting
alert|openshift-etcd|KubePodNotReady
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|MachineAPIOperatorDown
rule|ocp_version_end_of_life|OCP4X_BEYOND_EOL
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|CloudCredentialOperatorDown
alert|openshift-machine-config-operator|MCDDrainError
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|CloudCredentialOperatorDown
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-monitoring|TargetDown|cluster-monitoring-operator
rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_kubelet_version_check|NODE_KUBELET_VERSION
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES" + ], + "type": "scatter3d", + "x": [ + 5.919954299926758, + 5.9358673095703125, + 5.968183994293213, + 5.967514514923096, + 5.983912467956543, + 6.0377655029296875, + 6.007969379425049, + 5.68173885345459, + 5.985781192779541, + 5.911401271820068, + 6.0331244468688965, + 5.83152961730957, + 6.116550922393799, + 5.7672271728515625, + 5.942519664764404, + 5.844346523284912, + 5.960714340209961, + 6.146078586578369, + 6.004005432128906, + 5.939996719360352, + 5.978385925292969, + 5.989429950714111, + 5.9598565101623535 + ], + "y": [ + -22.417749404907227, + -22.178422927856445, + -22.52374839782715, + -22.143798828125, + -22.463197708129883, + -22.457120895385742, + -22.08506965637207, + -22.507953643798828, + -22.176477432250977, + -22.148530960083008, + -22.19812774658203, + -22.274934768676758, + -22.109872817993164, + -22.2999267578125, + -22.23111343383789, + -22.41525650024414, + -22.33993911743164, + -22.301591873168945, + -22.121036529541016, + -22.16929054260254, + -22.220605850219727, + -22.224288940429688, + -22.29214859008789 + ], + "z": [ + 42.71653747558594, + 42.646568298339844, + 42.56985855102539, + 42.69428253173828, + 42.64662551879883, + 42.46690368652344, + 42.662567138671875, + 42.643096923828125, + 42.7249870300293, + 42.723365783691406, + 42.663455963134766, + 42.4249153137207, + 43.01173782348633, + 42.63345718383789, + 42.625736236572266, + 42.66718673706055, + 42.5792236328125, + 42.55045700073242, + 42.706138610839844, + 42.71296691894531, + 42.68391036987305, + 42.64792251586914, + 42.76758575439453 + ] + }, + { + "customdata": [ + "000167dc-b92b-4677-bcb9-28cf8b2eded3", + "077bde34-64aa-439b-ab11-e7bb074765ac", + "0a047c03-6611-4b11-9658-b56a89390dc4", + "0ae3600a-8ad0-4960-a1e9-fd02a11c93f0", + "0d81dfad-1549-4e35-bcb0-1e116995e0a0", + "10f057b7-16e1-4e41-a96b-52d74a4b036b", + "118739a8-9d86-43c9-a3c5-41a81742ad89", + "143a71df-c655-49f3-96d4-01282534c7f1", + "1ba56859-ebea-461f-8641-1301b7afdb8c", + "222a7438-f8e2-4b11-a713-d572675582be", + "258c53f2-c56f-4aff-a891-cfb295e89af3", + "2782ab31-4554-48df-902c-cce2dfde5e0d", + "2bf375ca-99a8-4906-9907-d61ba2befdf4", + "2f42addf-98b2-4fef-b39e-addd72460b1b", + "2fbcff46-e8a5-4484-93c4-655c6209d243", + "3413dd90-dbf6-4f9a-99d5-e4a53be4779a", + "362ca1a7-2e42-4258-b4e0-bdd936bbb311", + "375669cb-f5f3-4c98-a55d-e9d716ec9b49", + "3b596f83-1c95-4c51-bca1-48be0a1c4ed1", + "3e7ab0cd-5cd1-42e3-90ae-0b3a39c75b51", + "3fb9d46d-a5a3-4d31-86eb-c058ccfad4d5", + "434cdbe7-911a-4cd7-a218-a6bbc5e5a47e", + "446c9a39-9ac5-4b49-bf65-c256fac6d8b2", + "4b84b009-46c9-4c71-9c06-30b54ca8f837", + "4db3427c-a233-49c1-8bb8-4c17eb8034bf", + "52149037-bf6a-4e60-bc7e-6abcf187866a", + "5795a6b3-417a-4b1f-9107-3b6e4d4fd514", + "5a8258a9-1992-4304-b786-114ef90709f1", + "5c2a97d1-07f0-406a-a456-0c4c1c429da5", + "5db1c350-8bc5-4d19-bd72-f8155b76fdf3", + "68cc1c2d-c498-46a0-b2eb-921fcdc244af", + "6c7d2373-853c-4547-bcaf-2a7d715acb12", + "7851338b-74f1-4043-92b0-2e0bafd3b710", + "79fb55bd-d525-4e2e-ad89-60810920a172", + "7a30ac45-c017-48de-8a8b-9fc6fe3fd004", + "7c6989e0-1058-4b9e-a8ae-18e069a11bc4", + "7d39da83-d5e3-4d08-b02a-df068b91776a", + "7f2c1004-9a5b-4dbe-b351-1c0b35268648", + "81d036bf-ba70-4410-a20d-acb8d68a1972", + "84c865c1-4301-4653-b73d-e7c71892c612", + "8681c54b-e875-401a-8076-ab580a6f5f29", + "8d0b7856-1526-4147-aadb-407f079c3477", + "8df104ad-7adf-4850-b889-a0e4324b5cac", + "99ac70e6-c103-42fb-ae6d-e6fb5acd0dd7", + "9da10cd0-a5c2-43f1-907b-20894ed6dc7e", + "9fc2c21d-a13c-4dac-9d67-5c8946dc6e08", + "a1769597-71aa-43b4-a525-92e71cf5882b", + "a8ec100e-b76c-474d-9a9b-5dfafc7e8441", + "aa6b1b4f-881b-4317-93ea-596c738e7ffd", + "afff3b42-9132-4518-aa68-24f94d0e9e41", + "b43a7ba6-3161-439b-80bb-88acdaa2e9bd", + "c2424ceb-d6cd-466e-8a24-e249c1da6613", + "c953722b-ca38-46f9-92d4-218a31490340", + "caa6f44b-dc90-462c-a5bf-5d1654d270cd", + "d119e727-f1ab-49b9-862b-73a7a4dab252", + "d282bc08-ca00-456f-84dd-33daadb3dd8f", + "d532e12c-f655-432f-a2e8-b49f0bc1a087", + "d86052b9-2e0f-4276-a4ae-0a9fdbd8514d", + "da09e993-1661-47d5-bfeb-4715af5a6a23", + "db7f6409-0ab0-4a3b-be9d-7b0794f7887a", + "dece6130-4ae2-446c-93a8-73da23eccd53", + "e062a4e7-1629-4508-a433-9a6ac9ddf4bf", + "e0aa6aa1-4a84-445a-8c4a-2da058683aff", + "e0c8cc3e-4746-461d-8bbf-af884da3390c", + "e2d306d3-6643-4f80-82ee-77e9277f7524", + "e95d2e72-49f5-4a5f-ba85-903838468b42", + "eb721536-4746-4618-b75a-5ac679a7647b", + "f0a639f8-3d6f-419b-a257-e9a0c2e7890b", + "f3c6dfef-a0f0-4e42-92bb-9268758ab84a", + "f45c2e00-2c52-4471-bc7b-63b6179257ea", + "f7bbd277-1d25-477e-aa84-2bd9aa74ab61", + "f9a90f11-f700-44b9-a233-48a5b6d8cd78" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 8", + "text": [ + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_pressure_check|NODE_PRESSURE
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|default|AggregatedAPIDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ClusterAutoscalerOperatorDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-monitoring|KubePodNotReady
alert|openshift-monitoring|TargetDown|prometheus-adapter
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ThanosQueryHighDNSFailures
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|ClusterNotUpgradeable
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_container_runtime_version_check|NODES_CONTAINER_RUNTIME_VERSION
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-service-catalog-removed|KubeContainerWaiting
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET" + ], + "type": "scatter3d", + "x": [ + -6.508472919464111, + -6.855248928070068, + -6.640495777130127, + -6.243607521057129, + -6.388707637786865, + -6.941802978515625, + -6.7674360275268555, + -6.682797431945801, + -6.798947334289551, + -6.782342910766602, + -6.366758823394775, + -6.351593017578125, + -6.291979789733887, + -6.509585857391357, + -6.457581043243408, + -6.120248317718506, + -6.116791725158691, + -6.179051876068115, + -6.774296283721924, + -6.631752967834473, + -6.709264755249023, + -6.394754886627197, + -6.655190944671631, + -6.451382160186768, + -6.748777866363525, + -6.258054733276367, + -5.994319915771484, + -6.092935085296631, + -6.476114749908447, + -6.0303874015808105, + -6.918054580688477, + -6.170941352844238, + -6.228448390960693, + -6.611615180969238, + -6.056013107299805, + -6.39256477355957, + -6.699692249298096, + -6.355433464050293, + -6.264157295227051, + -6.56808614730835, + -6.5721635818481445, + -5.999269008636475, + -6.302257537841797, + -6.175192356109619, + -6.358592510223389, + -6.259182929992676, + -6.470727920532227, + -6.602229118347168, + -6.2415771484375, + -6.4966230392456055, + -6.2800703048706055, + -6.472530364990234, + -6.601585865020752, + -6.49524450302124, + -6.56385612487793, + -6.3094706535339355, + -6.713663578033447, + -6.629059314727783, + -6.5423736572265625, + -6.476625919342041, + -6.615434169769287, + -6.406599044799805, + -6.5076398849487305, + -6.458674907684326, + -6.5229811668396, + -6.507847785949707, + -6.421209335327148, + -6.391116142272949, + -6.515506267547607, + -6.580477237701416, + -6.617132663726807, + -6.526794910430908 + ], + "y": [ + -27.89963722229004, + -27.75773811340332, + -27.535974502563477, + -27.543107986450195, + -27.316089630126953, + -27.575544357299805, + -27.00328254699707, + -27.367616653442383, + -27.736072540283203, + -27.597698211669922, + -27.899518966674805, + -27.30091667175293, + -27.69510269165039, + -27.46687126159668, + -27.976318359375, + -27.69938087463379, + -27.06110382080078, + -27.775699615478516, + -27.779184341430664, + -27.445289611816406, + -27.77206802368164, + -27.656381607055664, + -27.416139602661133, + -27.186750411987305, + -27.545536041259766, + -27.37449073791504, + -27.036392211914062, + -27.2197208404541, + -27.711366653442383, + -27.329938888549805, + -27.545352935791016, + -26.9728946685791, + -27.791290283203125, + -27.528369903564453, + -27.294055938720703, + -27.171367645263672, + -27.555662155151367, + -27.092477798461914, + -27.53542137145996, + -27.354089736938477, + -27.659591674804688, + -27.37152099609375, + -27.75541877746582, + -27.56310272216797, + -27.791751861572266, + -27.680286407470703, + -27.564958572387695, + -27.11508560180664, + -27.553544998168945, + -27.63831901550293, + -27.571117401123047, + -27.636138916015625, + -27.197717666625977, + -27.085081100463867, + -27.158946990966797, + -27.29935646057129, + -27.378625869750977, + -27.350475311279297, + -27.266063690185547, + -27.484601974487305, + -27.545167922973633, + -27.34865951538086, + -27.20864486694336, + -27.394546508789062, + -27.197111129760742, + -27.337182998657227, + -27.477170944213867, + -27.51096534729004, + -27.338552474975586, + -27.283634185791016, + -27.390138626098633, + -27.327054977416992 + ], + "z": [ + 22.8504581451416, + 23.086185455322266, + 22.631393432617188, + 22.80612564086914, + 22.58152198791504, + 22.918537139892578, + 22.84181022644043, + 22.775970458984375, + 23.056350708007812, + 22.954538345336914, + 23.047283172607422, + 22.893888473510742, + 22.781408309936523, + 22.769424438476562, + 23.203805923461914, + 22.88593292236328, + 23.176986694335938, + 22.907560348510742, + 23.2619686126709, + 23.749958038330078, + 23.515432357788086, + 23.696571350097656, + 22.949182510375977, + 22.82699203491211, + 23.700075149536133, + 23.623682022094727, + 23.360443115234375, + 23.11185073852539, + 23.528451919555664, + 23.070363998413086, + 23.120325088500977, + 23.17709732055664, + 23.0352725982666, + 23.55287742614746, + 23.341320037841797, + 23.383745193481445, + 23.61458969116211, + 23.468393325805664, + 23.520008087158203, + 23.1492919921875, + 23.00848388671875, + 23.198429107666016, + 23.303953170776367, + 23.178447723388672, + 23.38178825378418, + 23.139631271362305, + 22.931665420532227, + 22.9483585357666, + 23.484695434570312, + 23.223228454589844, + 23.241243362426758, + 23.293062210083008, + 23.111209869384766, + 23.15666389465332, + 23.066486358642578, + 23.11724090576172, + 23.277997970581055, + 23.26117706298828, + 23.321216583251953, + 23.355274200439453, + 23.32392692565918, + 23.219196319580078, + 23.139244079589844, + 23.09986686706543, + 23.2066650390625, + 23.26881980895996, + 23.207414627075195, + 23.169761657714844, + 23.26671028137207, + 23.32514190673828, + 23.180912017822266, + 23.272686004638672 + ] + }, + { + "customdata": [ + "034265cb-0256-4a34-8975-fad19d73cf66", + "07fe1099-84e0-47ba-bf4a-d97d55f18d93", + "0b9820fb-3194-4d90-b4a2-ba9d9dbc72a6", + "117502d2-10ac-451a-bedc-dfee53f00e6a", + "1d90d328-c419-42d8-af86-ed1b066dafea", + "2ab35237-ddaf-4774-895a-2540e0c04331", + "3be87d1a-298b-45db-bf66-5042422fc1a1", + "532aa7be-09cd-45ec-817f-95ef4ebf19c8", + "68c16459-483b-40bd-b743-4b4e4f0c303a", + "78ee7623-680a-406c-a11f-48c7c6ba7883", + "88fc34ba-8223-43c5-bce0-f45a94932d64", + "bb7f4020-5032-4425-8e1c-1a487e599932" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 9", + "text": [ + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-controller-manager|KubeContainerWaiting
alert|openshift-controller-manager|KubeDaemonSetRolloutStuck
alert|openshift-controller-manager|KubePodNotReady
alert|openshift-image-registry|KubeContainerWaiting
alert|openshift-image-registry|KubeJobCompletion
alert|openshift-kube-apiserver|KubeContainerWaiting
alert|openshift-kube-apiserver|KubePodNotReady
alert|openshift-multus|KubeContainerWaiting
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-multus|KubePodNotReady
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
alert|openshift-sdn|TargetDown|sdn
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryGrpcClientErrorRate
alert|ThanosQueryHighDNSFailures
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-image-registry|KubeContainerWaiting
alert|openshift-image-registry|KubeJobCompletion
alert|openshift-multus|KubeDaemonSetRolloutStuck
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
alert|openshift-cluster-version|CannotRetrieveUpdates
alert|openshift-multus|KubeDaemonSetRolloutStuck
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES" + ], + "type": "scatter3d", + "x": [ + 15.866284370422363, + 15.847081184387207, + 15.835899353027344, + 15.83413314819336, + 15.81425666809082, + 15.815242767333984, + 15.868584632873535, + 15.914960861206055, + 15.853472709655762, + 15.823834419250488, + 15.761283874511719, + 15.918874740600586 + ], + "y": [ + -8.908788681030273, + -8.988445281982422, + -8.997578620910645, + -8.99428653717041, + -9.017114639282227, + -9.015351295471191, + -8.901880264282227, + -8.915262222290039, + -8.963929176330566, + -9.005845069885254, + -9.068763732910156, + -8.874434471130371 + ], + "z": [ + 57.87911605834961, + 58.29733657836914, + 58.309295654296875, + 58.24107360839844, + 58.274227142333984, + 58.27170944213867, + 57.8470344543457, + 58.3651008605957, + 58.318115234375, + 58.26966094970703, + 58.30634307861328, + 58.00498962402344 + ] + }, + { + "customdata": [ + "0801286f-2bbd-4133-9617-cebdff248040", + "51f60812-8ba3-40b1-9b4a-77c2f33172c0", + "68f112d3-1c3d-4d8f-b0ca-903cd72d0820", + "aacf11ec-249d-4837-a9ac-749913fc4943", + "d1939e4a-3a6d-4705-9d35-b515986727cf", + "d40c556d-dcc4-4d8a-ad26-5848a8a6dbbd" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 10", + "text": [ + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET", + "alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|kube-system|TargetDown|kubelet
alert|openshift-apiserver|KubeDeploymentReplicasMismatch
alert|openshift-apiserver|KubePodNotReady
alert|openshift-cluster-node-tuning-operator|KubeDaemonSetRolloutStuck
alert|openshift-console|KubeDeploymentReplicasMismatch
alert|openshift-controller-manager|KubeDaemonSetRolloutStuck
alert|openshift-controller-manager|KubePodNotReady
alert|openshift-dns|KubeDaemonSetRolloutStuck
alert|openshift-etcd|KubePodNotReady
alert|openshift-image-registry|KubeDaemonSetRolloutStuck
alert|openshift-image-registry|KubePodNotReady
alert|openshift-kube-apiserver|KubePodNotReady
alert|openshift-kube-controller-manager|KubePodNotReady
alert|openshift-kube-scheduler|KubePodNotReady
alert|openshift-machine-config-operator|KubeDaemonSetMisScheduled
alert|openshift-machine-config-operator|KubeDaemonSetRolloutStuck
alert|openshift-machine-config-operator|KubeDeploymentReplicasMismatch
alert|openshift-machine-config-operator|KubePodNotReady
alert|openshift-monitoring|KubeDaemonSetRolloutStuck
alert|openshift-monitoring|KubeNodeNotReady
alert|openshift-monitoring|KubeNodeUnreachable
alert|openshift-monitoring|KubePodNotReady
alert|openshift-multus|KubeDaemonSetMisScheduled
alert|openshift-multus|KubeDaemonSetRolloutStuck
alert|openshift-sdn|KubeDaemonSetMisScheduled
alert|openshift-sdn|KubeDaemonSetRolloutStuck
alert|openshift-sdn|SDNPodNotReady
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED", + "alert|ClusterNotUpgradeable
alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown", + "alert|ClusterNotUpgradeable
alert|KubeAPIDown
alert|KubeControllerManagerDown
alert|KubeSchedulerDown
alert|openshift-console|KubeDeploymentReplicasMismatch" + ], + "type": "scatter3d", + "x": [ + 20.551259994506836, + 20.517641067504883, + 20.480785369873047, + 20.515026092529297, + 20.53032112121582, + 20.51243782043457 + ], + "y": [ + -3.648930311203003, + -3.682539463043213, + -3.718353271484375, + -3.6862266063690186, + -3.6695594787597656, + -3.6878530979156494 + ], + "z": [ + 57.64208221435547, + 57.6082878112793, + 57.575809478759766, + 57.599754333496094, + 57.6201286315918, + 57.601295471191406 + ] + }, + { + "customdata": [ + "03022f48-21ae-45d8-a35d-796e075c4c24", + "0ed72f1a-2922-42c9-873c-cd1fb0a96514", + "11445743-a545-4f7b-980a-2b462bf67dd4", + "1a4cd49f-d095-45ae-a3d7-19f96d1b57f2", + "3e7193b2-2b58-4cae-8207-96d6d99a8012", + "560fa45b-1367-425b-b5a4-b4dc66b69293", + "5a38aa5b-8d82-4152-bb40-6028ccd56548", + "683667a6-9ef4-4497-8693-a652fd3c4756", + "6ab9cd7c-84ce-4676-acb8-b6d9cf7d4cb3", + "73131cc4-f421-4fb4-a473-3807df2ea3fd", + "885d1a81-734e-4765-93bf-a527a73424f5", + "a0571fe1-dd5d-49c2-8a69-605397cd196f", + "ad9a6f93-c924-4476-bbac-df32e775ac34", + "c7e61571-f930-400d-a31f-7505345ebf8c", + "ce82062b-53d2-4e42-b1e3-57e64990b9ed", + "d1d85a16-7186-4596-ae5d-a1e9932abca5", + "d23546f2-9207-4e3c-af73-b0c81850f0b4", + "daaed396-5201-4621-931e-494852cf8248", + "ff63c92c-6793-4981-b578-bff413d1554c" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 11", + "text": [ + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_check|CLUSTER_VERSION_MISMATCH
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES", + "rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET
rule|version_forced|FORCED_VERSION_UPDATES" + ], + "type": "scatter3d", + "x": [ + -6.652331352233887, + -7.107786655426025, + -7.13996696472168, + -6.854470729827881, + -6.976282119750977, + -6.8718581199646, + -6.993056774139404, + -6.872201919555664, + -6.849020004272461, + -6.808959007263184, + -6.877250671386719, + -6.990578651428223, + -6.78416633605957, + -6.734348773956299, + -6.683668613433838, + -6.5508809089660645, + -6.705931186676025, + -6.761687278747559, + -6.684908866882324 + ], + "y": [ + -26.49807357788086, + -26.91932487487793, + -26.789142608642578, + -26.610736846923828, + -26.92291259765625, + -26.98171615600586, + -26.7445068359375, + -27.02591896057129, + -26.72005844116211, + -26.608776092529297, + -26.74193572998047, + -26.733949661254883, + -26.982479095458984, + -26.769123077392578, + -26.797887802124023, + -26.84357261657715, + -26.98872947692871, + -26.926971435546875, + -26.980304718017578 + ], + "z": [ + 23.358383178710938, + 23.713075637817383, + 23.351686477661133, + 23.207752227783203, + 23.2438907623291, + 23.146812438964844, + 23.524560928344727, + 23.66227912902832, + 23.589649200439453, + 23.43956184387207, + 23.63909339904785, + 23.508230209350586, + 23.599700927734375, + 23.327213287353516, + 23.51398277282715, + 23.440107345581055, + 23.450275421142578, + 23.495798110961914, + 23.465057373046875 + ] + }, + { + "customdata": [ + "013895d7-4d77-4522-9d87-fe26a324fdfe", + "74f24646-1581-4020-9b42-9ea006986058", + "7af5ce29-9267-4f20-952e-180451cb7419", + "7d9b6f1c-26e6-46b1-8ca0-1696dbe03ed7", + "94fff388-959b-4fe7-9faf-ddf9d278b228", + "c26b21b0-7326-4df6-b384-d59943635f8f" + ], + "hovertemplate": "_id: %{customdata}

%{text}", + "marker": { + "size": 2 + }, + "mode": "markers", + "name": "Cluster ID 12", + "text": [ + "alert|default|KubeClientCertificateExpiration
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed
foc|cloud-credential|Degraded|CredentialsFailing|337e
foc|cloud-credential|Progressing|Reconciling|b7a8
foc|image-registry|Progressing|Error|79db", + "alert|ThanosQueryHighDNSFailures
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed", + "alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed" + ], + "type": "scatter3d", + "x": [ + -6.485951900482178, + -6.3738508224487305, + -6.315647602081299, + -6.4550371170043945, + -6.2611236572265625, + -6.358331203460693 + ], + "y": [ + -26.78243064880371, + -26.869831085205078, + -26.952056884765625, + -26.83515167236328, + -26.9167537689209, + -26.94268798828125 + ], + "z": [ + 25.32775115966797, + 24.880992889404297, + 24.800085067749023, + 25.043746948242188, + 25.220415115356445, + 24.806257247924805 + ] + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualize deployments, colored by dbscan cluster label\n", + "fig = go.Figure()\n", + "\n", + "# data to display when hover over - list of all symptoms\n", + "hoverdata = X_df.apply(create_hoverinfo, axis=1)\n", + "\n", + "for c in unique_dbscan_labels:\n", + " # index where points are of this class\n", + " c_pts = dbscan.labels_ == c\n", + "\n", + " # add those points\n", + " fig.add_trace(\n", + " go.Scatter3d(\n", + " x=X_df_trans[c_pts, 0],\n", + " y=X_df_trans[c_pts, 1],\n", + " z=X_df_trans[c_pts, 2],\n", + " name=f\"Cluster ID {c}\",\n", + " mode=\"markers\",\n", + " hovertemplate=\"_id: %{customdata}
\" + \"
%{text}\",\n", + " customdata=hoverdata[c_pts].index.tolist(),\n", + " text=hoverdata[c_pts].values,\n", + " marker=dict(size=2),\n", + " )\n", + " )\n", + "\n", + "if SAVE_PLOTS:\n", + " savedir = \"../../reports/figures\"\n", + " fname = f\"dbscan_{dbscan.eps}_{dbscan.min_samples}\"\n", + " suffix = f\"{DATE_PREFIX.replace('/', '_')}_{IMAGES_TAG}\"\n", + "\n", + " print(f\"Saving plot as '{savedir}/{fname}_{suffix}.html'\")\n", + " plotly.offline.plot(\n", + " fig,\n", + " filename=f\"{savedir}/{fname}_{suffix}.html\",\n", + " auto_open=True,\n", + " )\n", + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Interpretation\n", + "\n", + "- This graph is to be interpreted in a similar way as the one above. The only difference is in the way the points are colored.\n", + "\n", + "- The color of a point represent the cluster (group) that the clustering algorithm assigned it to. For example, all the yellow points represent deployments that were labelled as belonging to cluster id 8.\n", + "\n", + "**INTERESTING NOTE 1**\n", + "
In the above graph, it can be seen the most popular symptom in deployments in cluster id 2 is `POD_CRASHLOOP_ISSUE`, and that for deployments in its neighboring cluster id 8 is `NODES_MINIMUM_REQUIREMENTS_NOT_MET`. The deployments that lie at the boundary of these two clusters tend to have both of the above symptoms. This suggests that the latent representation learned and the clusters formed are somewhat meaningful.\n", + "\n", + "**INTERESTING NOTE 2**\n", + "
In the above graph, it can be seen the most popular symptom in deployments in cluster id 4 is `FORCED_VERSION_UPDATES`, and that for deployments in its nearby cluster id 8 is `NODES_MINIMUM_REQUIREMENTS_NOT_MET`. For the deployments in cluster id 11, which lies between the above two clusters, the most popular symptoms are both `FORCED_VERSION_UPDATES` and `NODES_MINIMUM_REQUIREMENTS_NOT_MET`. This again suggests that the latent representation learned and the clusters formed are somewhat meaningful." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.843647Z", + "start_time": "2021-01-27T16:42:56.763369Z" + }, + "code_folding": [ + 0 + ], + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The following table shows, what percent of deployments in a given cluster (group) had a particular diagnosis\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cluster_sizepercent_ignored-symptomspercent_sdn-issuepercent_kubelet-downpercent_BZ-1821905-DefaultSecurityContextConstraints_Mutatedpercent_4.3-major-upgrade-autoscaler
cluster_id
10600.1666670.16666700
-12300.08695650.043478300
91200.0833333000
12600000
111900000
87200000
72300000
64100000
51100000
42000000
\n", + "
" + ], + "text/plain": [ + " cluster_size percent_ignored-symptoms percent_sdn-issue \\\n", + "cluster_id \n", + " 10 6 0 0.166667 \n", + "-1 23 0 0.0869565 \n", + " 9 12 0 0.0833333 \n", + " 12 6 0 0 \n", + " 11 19 0 0 \n", + " 8 72 0 0 \n", + " 7 23 0 0 \n", + " 6 41 0 0 \n", + " 5 11 0 0 \n", + " 4 20 0 0 \n", + "\n", + " percent_kubelet-down \\\n", + "cluster_id \n", + " 10 0.166667 \n", + "-1 0.0434783 \n", + " 9 0 \n", + " 12 0 \n", + " 11 0 \n", + " 8 0 \n", + " 7 0 \n", + " 6 0 \n", + " 5 0 \n", + " 4 0 \n", + "\n", + " percent_BZ-1821905-DefaultSecurityContextConstraints_Mutated \\\n", + "cluster_id \n", + " 10 0 \n", + "-1 0 \n", + " 9 0 \n", + " 12 0 \n", + " 11 0 \n", + " 8 0 \n", + " 7 0 \n", + " 6 0 \n", + " 5 0 \n", + " 4 0 \n", + "\n", + " percent_4.3-major-upgrade-autoscaler \n", + "cluster_id \n", + " 10 0 \n", + "-1 0 \n", + " 9 0 \n", + " 12 0 \n", + " 11 0 \n", + " 8 0 \n", + " 7 0 \n", + " 6 0 \n", + " 5 0 \n", + " 4 0 " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for each cluster, what fraction of deployments have a particular diagnosis?\n", + "dbclust_diagnosis_df = pd.DataFrame(\n", + " index=unique_dbscan_labels,\n", + " columns=[\"cluster_size\"] + [f\"percent_{i}\" for i in diag_names],\n", + ")\n", + "dbclust_diagnosis_df.index.rename(\"cluster_id\", inplace=True)\n", + "for c in unique_dbscan_labels:\n", + " clust_depls = X_df.index[dbscan.labels_ == c]\n", + " dbclust_diagnosis_df.loc[c, \"cluster_size\"] = len(clust_depls)\n", + " for diag in diag_names:\n", + " does_clust_have_diag = clust_depls.isin(\n", + " diagnoses_df[diagnoses_df[\"symptom_id\"] == f\"diagnosis|{diag}\"][\n", + " \"cluster_id\"\n", + " ].unique()\n", + " )\n", + " try:\n", + " dbclust_diagnosis_df.loc[\n", + " c, f\"percent_{diag}\"\n", + " ] = does_clust_have_diag.mean()\n", + " except ZeroDivisionError:\n", + " dbclust_diagnosis_df.loc[c, f\"percent_{diag}\"] = 0\n", + "\n", + "pct_sorted_idx = (\n", + " dbclust_diagnosis_df.drop(\"cluster_size\", axis=1)\n", + " .max(axis=1)\n", + " .sort_values(ascending=False)\n", + " .index\n", + ")\n", + "\n", + "print(\n", + " \"The following table shows, what percent of deployments in a given cluster (group) had a particular diagnosis\"\n", + ")\n", + "dbclust_diagnosis_df.reindex(pct_sorted_idx).head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Most Frequently Co-occuring Symptoms" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that clustering is done, we have a rough idea of which deployments are similar to each other (and therefore belong in the same cluster). In order to get the potential diagnosis that the deployments in a cluster supposedly share, we want to determine what makes deployments in that cluster different than the rest. That is, which symptoms are the defining characteristics of the cluster.\n", + "\n", + "To do this, we'll first use \"frequent pattern mining\" algorithms to find which symptom combinations are the most \"dominant\" in each cluster. Then, we'll compare the frequent symptom combinations in a cluster with those in others to determine which symptom combinations are unique to that cluster." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.852772Z", + "start_time": "2021-01-27T16:42:56.845279Z" + }, + "code_folding": [ + 0, + 2 + ] + }, + "outputs": [], + "source": [ + "def get_frequent_symptom_combinations(\n", + " symptom_onehot_df, algo=\"fpgrowth\", min_support=0.9, drop_singles=False\n", + "):\n", + " # calculate frequent patterns as per the algorithm name passed\n", + " ret = getattr(mlxtend.frequent_patterns, algo)(\n", + " df=symptom_onehot_df, min_support=min_support, use_colnames=True\n", + " )\n", + "\n", + " # keep only those \"combinations\" whose length is >1\n", + " if drop_singles:\n", + " ret = ret[ret[\"itemsets\"].apply(lambda x: len(x)) > 1]\n", + "\n", + " # friendlier index and column names\n", + " ret = ret.rename(\n", + " columns={\n", + " \"itemsets\": \"symptom_combination\",\n", + " \"support\": \"percent_affected\",\n", + " }\n", + " ).set_index(\"symptom_combination\")\n", + "\n", + " # sort by percent_affected to bring attention to more frequent symptoms\n", + " ret = ret.sort_values(by=\"percent_affected\", ascending=False)\n", + "\n", + " return ret" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Overall Data\n", + "\n", + "Before diving into frequent symptom combination in specific clusters, let's have a look at symptom combinations in the overall data, so that we have a baseline to compare against.\n", + "\n", + "**NOTE**: This might not be _super_ informative because overall, various deployments are affected by various issues, so the values for \"average\" issues and patterns are likely very small. Nonetheless, this is meant to give only a rough idea, and to see if there are any symptoms that are common across a significant portion of the fleet." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.869558Z", + "start_time": "2021-01-27T16:42:56.854631Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected
symptom_id
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET0.379581
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE0.225131
rule|version_forced|FORCED_VERSION_UPDATES0.225131
alert|openshift-monitoring|KubePodNotReady0.157068
alert|openshift-monitoring|TargetDown|cluster-monitoring-operator0.115183
rule|machineconfig_stuck_by_node_taints|NODE_HAS_TAINTS_APPLIED0.115183
alert|openshift-monitoring|KubeDeploymentReplicasMismatch0.107330
rule|version_check|CLUSTER_VERSION_MISMATCH0.091623
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed0.073298
alert|ThanosQueryHighDNSFailures0.065445
\n", + "
" + ], + "text/plain": [ + " percent_affected\n", + "symptom_id \n", + "rule|nodes_requirements_check|NODES_MINIMUM_REQ... 0.379581\n", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE 0.225131\n", + "rule|version_forced|FORCED_VERSION_UPDATES 0.225131\n", + "alert|openshift-monitoring|KubePodNotReady 0.157068\n", + "alert|openshift-monitoring|TargetDown|cluster-m... 0.115183\n", + "rule|machineconfig_stuck_by_node_taints|NODE_HA... 0.115183\n", + "alert|openshift-monitoring|KubeDeploymentReplic... 0.107330\n", + "rule|version_check|CLUSTER_VERSION_MISMATCH 0.091623\n", + "alert|openshift-cloud-credential-operator|Cloud... 0.073298\n", + "alert|ThanosQueryHighDNSFailures 0.065445" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# average value of each symptom in overall data\n", + "X_df.mean().sort_values(ascending=False).to_frame(\"percent_affected\").head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.926863Z", + "start_time": "2021-01-27T16:42:56.871316Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected
symptom_combination
(alert|openshift-monitoring|TargetDown|cluster-monitoring-operator, alert|openshift-monitoring|KubePodNotReady)0.10733
(alert|openshift-monitoring|KubeDeploymentReplicasMismatch, alert|openshift-monitoring|TargetDown|cluster-monitoring-operator)0.10733
(alert|openshift-monitoring|KubeDeploymentReplicasMismatch, alert|openshift-monitoring|KubePodNotReady)0.10733
(alert|openshift-monitoring|KubeDeploymentReplicasMismatch, alert|openshift-monitoring|TargetDown|cluster-monitoring-operator, alert|openshift-monitoring|KubePodNotReady)0.10733
\n", + "
" + ], + "text/plain": [ + " percent_affected\n", + "symptom_combination \n", + "(alert|openshift-monitoring|TargetDown|cluster-... 0.10733\n", + "(alert|openshift-monitoring|KubeDeploymentRepli... 0.10733\n", + "(alert|openshift-monitoring|KubeDeploymentRepli... 0.10733\n", + "(alert|openshift-monitoring|KubeDeploymentRepli... 0.10733" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# find frequent combinations in the entire dataset\n", + "# NOTE: min_support = at least this % of depls should have this combination of symptoms\n", + "get_frequent_symptom_combinations(\n", + " X_df, min_support=0.1, drop_singles=True\n", + ").head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Specific Cluster (diagnosis = \"sdn-issue\")\n", + "\n", + "Let's perform this analysis for a specific cluster, cluster id 9. From the table at the end of [Apply Clustering](#Apply-Clustering) section, we see that one of the deployments in cluster was diagnosed with \"sdn-issue\". If our analysis is able to hint at the symptoms that define \"sdn-issue\", then it means this line of research is worth exploring further.\n", + "\n", + "As per kraken, the \"sdn-issue\" diagnosis is defined by\n", + "1. Root Cause\n", + " - AlertSymptom, \"namespace\": \"openshift-sdn\", \"name\": \"KubeDaemonSetRolloutStuck\"\n", + "2. Consequence\n", + " - OperatorConditionSymptom, \"operator\": \"dns\",\n", + " - --- OR --- \n", + " - AlertSymptom, \"namespace\": \"openshift-dns\"" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:56.936039Z", + "start_time": "2021-01-27T16:42:56.928812Z" + }, + "code_folding": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Num Deployments in this Cluster = 12

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Percent Deployments Assigned to this Cluster = 0.031413612565445025

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# specific cluster for which to extract frequent patterns\n", + "clustid = 9\n", + "\n", + "# indexer into X_df. True where the deployment belongs to the cluster of id ==clustid\n", + "is_depl_in_clust = dbscan.labels_ == clustid\n", + "\n", + "# how many deployments in this particular cluster\n", + "display(\n", + " HTML(\n", + " f\"

Num Deployments in this Cluster = {is_depl_in_clust.sum()}

\"\n", + " )\n", + ")\n", + "display(\n", + " HTML(\n", + " f\"

Percent Deployments Assigned to this Cluster = {is_depl_in_clust.mean()}

\"\n", + " )\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:57.132681Z", + "start_time": "2021-01-27T16:42:56.937946Z" + }, + "code_folding": [ + 0 + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Most Affecting Symptoms

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected
symptom_id
rule|version_forced|FORCED_VERSION_UPDATES1.000000
alert|openshift-cluster-version|CannotRetrieveUpdates1.000000
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed0.916667
rule|version_check|CLUSTER_VERSION_MISMATCH0.333333
rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE0.250000
alert|default|KubeClientCertificateExpiration0.250000
alert|openshift-multus|KubeDaemonSetRolloutStuck0.250000
alert|ThanosQueryGrpcClientErrorRate0.250000
alert|ThanosQueryHighDNSFailures0.250000
alert|openshift-image-registry|KubeJobCompletion0.166667
\n", + "
" + ], + "text/plain": [ + " percent_affected\n", + "symptom_id \n", + "rule|version_forced|FORCED_VERSION_UPDATES 1.000000\n", + "alert|openshift-cluster-version|CannotRetrieveU... 1.000000\n", + "alert|openshift-cloud-credential-operator|Cloud... 0.916667\n", + "rule|version_check|CLUSTER_VERSION_MISMATCH 0.333333\n", + "rule|pods_crash_loop_check|POD_CRASHLOOP_ISSUE 0.250000\n", + "alert|default|KubeClientCertificateExpiration 0.250000\n", + "alert|openshift-multus|KubeDaemonSetRolloutStuck 0.250000\n", + "alert|ThanosQueryGrpcClientErrorRate 0.250000\n", + "alert|ThanosQueryHighDNSFailures 0.250000\n", + "alert|openshift-image-registry|KubeJobCompletion 0.166667" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Most UNIQUELY Affecting Symptoms

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected_thispercent_affected_others
symptom_id
alert|openshift-cluster-version|CannotRetrieveUpdates1.0000000.021622
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed0.9166670.045946
rule|version_forced|FORCED_VERSION_UPDATES1.0000000.200000
rule|version_check|CLUSTER_VERSION_MISMATCH0.3333330.083784
alert|default|KubeClientCertificateExpiration0.2500000.005405
alert|ThanosQueryGrpcClientErrorRate0.2500000.010811
alert|openshift-multus|KubeDaemonSetRolloutStuck0.2500000.010811
alert|ThanosQueryHighDNSFailures0.2500000.059459
alert|openshift-image-registry|KubeJobCompletion0.1666670.000000
alert|openshift-image-registry|KubeContainerWaiting0.1666670.002703
\n", + "
" + ], + "text/plain": [ + " percent_affected_this \\\n", + "symptom_id \n", + "alert|openshift-cluster-version|CannotRetrieveU... 1.000000 \n", + "alert|openshift-cloud-credential-operator|Cloud... 0.916667 \n", + "rule|version_forced|FORCED_VERSION_UPDATES 1.000000 \n", + "rule|version_check|CLUSTER_VERSION_MISMATCH 0.333333 \n", + "alert|default|KubeClientCertificateExpiration 0.250000 \n", + "alert|ThanosQueryGrpcClientErrorRate 0.250000 \n", + "alert|openshift-multus|KubeDaemonSetRolloutStuck 0.250000 \n", + "alert|ThanosQueryHighDNSFailures 0.250000 \n", + "alert|openshift-image-registry|KubeJobCompletion 0.166667 \n", + "alert|openshift-image-registry|KubeContainerWai... 0.166667 \n", + "\n", + " percent_affected_others \n", + "symptom_id \n", + "alert|openshift-cluster-version|CannotRetrieveU... 0.021622 \n", + "alert|openshift-cloud-credential-operator|Cloud... 0.045946 \n", + "rule|version_forced|FORCED_VERSION_UPDATES 0.200000 \n", + "rule|version_check|CLUSTER_VERSION_MISMATCH 0.083784 \n", + "alert|default|KubeClientCertificateExpiration 0.005405 \n", + "alert|ThanosQueryGrpcClientErrorRate 0.010811 \n", + "alert|openshift-multus|KubeDaemonSetRolloutStuck 0.010811 \n", + "alert|ThanosQueryHighDNSFailures 0.059459 \n", + "alert|openshift-image-registry|KubeJobCompletion 0.000000 \n", + "alert|openshift-image-registry|KubeContainerWai... 0.002703 " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# \"average\" symptom vector for this cluster\n", + "curr_clust_mean_symptom = (\n", + " X_df[is_depl_in_clust].mean().to_frame(\"percent_affected\")\n", + ")\n", + "display(HTML(\"

Most Affecting Symptoms

\"))\n", + "display(\n", + " curr_clust_mean_symptom.sort_values(\n", + " \"percent_affected\", ascending=False\n", + " ).head(10)\n", + ")\n", + "\n", + "# \"average\" symptom vector for depls not in this cluster\n", + "other_clusts_mean_symptom = (\n", + " X_df[~is_depl_in_clust].mean().to_frame(\"percent_affected\")\n", + ")\n", + "\n", + "# what symptoms have different occurence frequencies as compared to other clusters\n", + "diff = pd.merge(\n", + " curr_clust_mean_symptom,\n", + " other_clusts_mean_symptom,\n", + " how=\"left\",\n", + " left_index=True,\n", + " right_index=True,\n", + " suffixes=(\"_this\", \"_others\"),\n", + ")\n", + "\n", + "# display in descending order of difference\n", + "display(HTML(\"

Most UNIQUELY Affecting Symptoms

\"))\n", + "diff.reindex(\n", + " (diff[\"percent_affected_this\"] - diff[\"percent_affected_others\"])\n", + " .sort_values(ascending=False)\n", + " .index\n", + ").head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:57.213455Z", + "start_time": "2021-01-27T16:42:57.134946Z" + }, + "code_folding": [ + 0 + ], + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Most Affecting Symptom Combinations

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected
symptom_combination
(rule|version_forced|FORCED_VERSION_UPDATES)1.000000
(alert|openshift-cluster-version|CannotRetrieveUpdates)1.000000
(alert|openshift-cluster-version|CannotRetrieveUpdates, rule|version_forced|FORCED_VERSION_UPDATES)1.000000
(alert|openshift-cluster-version|CannotRetrieveUpdates, rule|version_forced|FORCED_VERSION_UPDATES, alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.916667
(rule|version_forced|FORCED_VERSION_UPDATES, alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.916667
(alert|openshift-cluster-version|CannotRetrieveUpdates, alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.916667
(alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.916667
(rule|version_check|CLUSTER_VERSION_MISMATCH)0.333333
(alert|openshift-cluster-version|CannotRetrieveUpdates, rule|version_check|CLUSTER_VERSION_MISMATCH)0.333333
(rule|version_check|CLUSTER_VERSION_MISMATCH, rule|version_forced|FORCED_VERSION_UPDATES)0.333333
\n", + "
" + ], + "text/plain": [ + " percent_affected\n", + "symptom_combination \n", + "(rule|version_forced|FORCED_VERSION_UPDATES) 1.000000\n", + "(alert|openshift-cluster-version|CannotRetrieve... 1.000000\n", + "(alert|openshift-cluster-version|CannotRetrieve... 1.000000\n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.916667\n", + "(rule|version_forced|FORCED_VERSION_UPDATES, al... 0.916667\n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.916667\n", + "(alert|openshift-cloud-credential-operator|Clou... 0.916667\n", + "(rule|version_check|CLUSTER_VERSION_MISMATCH) 0.333333\n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.333333\n", + "(rule|version_check|CLUSTER_VERSION_MISMATCH, r... 0.333333" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Most UNIQUELY Affecting Symptom Combinations

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected_thispercent_affected_others
symptom_combination
(alert|openshift-cluster-version|CannotRetrieveUpdates)1.0000000.021622
(alert|openshift-cluster-version|CannotRetrieveUpdates, rule|version_forced|FORCED_VERSION_UPDATES)1.0000000.050000
(alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.9166670.045946
(alert|openshift-cluster-version|CannotRetrieveUpdates, rule|version_forced|FORCED_VERSION_UPDATES, alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.9166670.050000
(rule|version_forced|FORCED_VERSION_UPDATES, alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.9166670.050000
(alert|openshift-cluster-version|CannotRetrieveUpdates, alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed)0.9166670.050000
(rule|version_forced|FORCED_VERSION_UPDATES)1.0000000.200000
(alert|openshift-cluster-version|CannotRetrieveUpdates, rule|version_check|CLUSTER_VERSION_MISMATCH)0.3333330.050000
(alert|openshift-cluster-version|CannotRetrieveUpdates, rule|version_check|CLUSTER_VERSION_MISMATCH, rule|version_forced|FORCED_VERSION_UPDATES)0.3333330.050000
(rule|version_check|CLUSTER_VERSION_MISMATCH, rule|version_forced|FORCED_VERSION_UPDATES)0.3333330.083784
\n", + "
" + ], + "text/plain": [ + " percent_affected_this \\\n", + "symptom_combination \n", + "(alert|openshift-cluster-version|CannotRetrieve... 1.000000 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 1.000000 \n", + "(alert|openshift-cloud-credential-operator|Clou... 0.916667 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.916667 \n", + "(rule|version_forced|FORCED_VERSION_UPDATES, al... 0.916667 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.916667 \n", + "(rule|version_forced|FORCED_VERSION_UPDATES) 1.000000 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.333333 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.333333 \n", + "(rule|version_check|CLUSTER_VERSION_MISMATCH, r... 0.333333 \n", + "\n", + " percent_affected_others \n", + "symptom_combination \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.021622 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.050000 \n", + "(alert|openshift-cloud-credential-operator|Clou... 0.045946 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.050000 \n", + "(rule|version_forced|FORCED_VERSION_UPDATES, al... 0.050000 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.050000 \n", + "(rule|version_forced|FORCED_VERSION_UPDATES) 0.200000 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.050000 \n", + "(alert|openshift-cluster-version|CannotRetrieve... 0.050000 \n", + "(rule|version_check|CLUSTER_VERSION_MISMATCH, r... 0.083784 " + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# frequent symptom cominations in depls of this cluster\n", + "curr_clust_combinations = get_frequent_symptom_combinations(\n", + " X_df[is_depl_in_clust], min_support=0.25, drop_singles=False\n", + ")\n", + "display(HTML(\"

Most Affecting Symptom Combinations

\"))\n", + "display(curr_clust_combinations.head(10))\n", + "\n", + "# frequent symptom patterns in depls of all other clusters\n", + "# NOTE: since num total depls is high, and it can contain depls of different types, min_support is kept v low (~5%)\n", + "other_clusts_combinations = get_frequent_symptom_combinations(\n", + " X_df[~is_depl_in_clust], min_support=0.01, drop_singles=False\n", + ")\n", + "\n", + "# what symptom patterns have different frequencies in this cluster as compared to other clusters\n", + "diff = pd.merge(\n", + " curr_clust_combinations,\n", + " other_clusts_combinations,\n", + " how=\"left\",\n", + " left_index=True,\n", + " right_index=True,\n", + " suffixes=(\"_this\", \"_others\"),\n", + ").fillna(0.05)\n", + "\n", + "# display in descending order of difference\n", + "display(HTML(\"

Most UNIQUELY Affecting Symptom Combinations

\"))\n", + "diff.reindex(\n", + " (diff[\"percent_affected_this\"] - diff[\"percent_affected_others\"])\n", + " .sort_values(ascending=False)\n", + " .index\n", + ").head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Interpretation\n", + "\n", + "The symptoms such as `alert|openshift-multus|KubeDaemonSetRolloutStuck`, `alert|ThanosQueryHighDNSFailures`, and `alert|ThanosQueryGrpcClientErrorRate` that are surfaced in the above tables seem to suggest that a network issue is the underlying problem for the deployments in this cluster. This is somewhat (but not completely) consistent with our knowledge, as one of the deployments in this cluster did already get diagnosed with `sdn-issue`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example Potential Diagnosis\n", + "\n", + "In this section, we'll apply the above analysis to deployments of a specific cluster, for which we don't have a defined diagnosis yet. The goal is to see if we can extract useful information that could hint towards a potential diagnosis for deployments of this cluster." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:57.221876Z", + "start_time": "2021-01-27T16:42:57.215579Z" + }, + "code_folding": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Num Deployments in this Cluster = 17

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Percent Deployments Assigned to this Cluster = 0.04450261780104712

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# specific cluster for which to extract frequent patterns\n", + "clustid = 0\n", + "\n", + "# indexer into X_df. True where the deployment belongs to the cluster of id ==clustid\n", + "is_depl_in_clust = dbscan.labels_ == clustid\n", + "\n", + "# how many deployments in this particular cluster\n", + "display(\n", + " HTML(\n", + " f\"

Num Deployments in this Cluster = {is_depl_in_clust.sum()}

\"\n", + " )\n", + ")\n", + "display(\n", + " HTML(\n", + " f\"

Percent Deployments Assigned to this Cluster = {is_depl_in_clust.mean()}

\"\n", + " )\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:57.252463Z", + "start_time": "2021-01-27T16:42:57.223837Z" + }, + "code_folding": [ + 0 + ], + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Most Affecting Symptoms

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected
symptom_id
alert|openshift-monitoring|KubePodNotReady1.000000
alert|openshift-monitoring|TargetDown|prometheus-adapter1.000000
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors1.000000
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc0.941176
alert|openshift-monitoring|KubeContainerWaiting0.882353
alert|default|AggregatedAPIDown0.882353
alert|KubeClientErrors0.764706
foc|monitoring|Progressing|RollOutInProgress|f3110.529412
alert|openshift-cloud-credential-operator|CloudCredentialOperatorProvisioningFailed0.411765
rule|nodes_requirements_check|NODES_MINIMUM_REQUIREMENTS_NOT_MET0.411765
\n", + "
" + ], + "text/plain": [ + " percent_affected\n", + "symptom_id \n", + "alert|openshift-monitoring|KubePodNotReady 1.000000\n", + "alert|openshift-monitoring|TargetDown|prometheu... 1.000000\n", + "alert|openshift-monitoring|ClusterMonitoringOpe... 1.000000\n", + "foc|monitoring|Degraded|UpdatingprometheusAdapt... 0.941176\n", + "alert|openshift-monitoring|KubeContainerWaiting 0.882353\n", + "alert|default|AggregatedAPIDown 0.882353\n", + "alert|KubeClientErrors 0.764706\n", + "foc|monitoring|Progressing|RollOutInProgress|f311 0.529412\n", + "alert|openshift-cloud-credential-operator|Cloud... 0.411765\n", + "rule|nodes_requirements_check|NODES_MINIMUM_REQ... 0.411765" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Most UNIQUELY Affecting Symptoms

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected_thispercent_affected_others
symptom_id
alert|openshift-monitoring|TargetDown|prometheus-adapter1.0000000.005479
alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors1.0000000.010959
foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc0.9411760.005479
alert|openshift-monitoring|KubePodNotReady1.0000000.117808
alert|default|AggregatedAPIDown0.8823530.010959
alert|openshift-monitoring|KubeContainerWaiting0.8823530.024658
alert|KubeClientErrors0.7647060.008219
foc|monitoring|Progressing|RollOutInProgress|f3110.5294120.002740
foc|cloud-credential|Degraded|CredentialsFailing|337e0.4117650.002740
foc|cloud-credential|Progressing|Reconciling|b7a80.4117650.002740
\n", + "
" + ], + "text/plain": [ + " percent_affected_this \\\n", + "symptom_id \n", + "alert|openshift-monitoring|TargetDown|prometheu... 1.000000 \n", + "alert|openshift-monitoring|ClusterMonitoringOpe... 1.000000 \n", + "foc|monitoring|Degraded|UpdatingprometheusAdapt... 0.941176 \n", + "alert|openshift-monitoring|KubePodNotReady 1.000000 \n", + "alert|default|AggregatedAPIDown 0.882353 \n", + "alert|openshift-monitoring|KubeContainerWaiting 0.882353 \n", + "alert|KubeClientErrors 0.764706 \n", + "foc|monitoring|Progressing|RollOutInProgress|f311 0.529412 \n", + "foc|cloud-credential|Degraded|CredentialsFailin... 0.411765 \n", + "foc|cloud-credential|Progressing|Reconciling|b7a8 0.411765 \n", + "\n", + " percent_affected_others \n", + "symptom_id \n", + "alert|openshift-monitoring|TargetDown|prometheu... 0.005479 \n", + "alert|openshift-monitoring|ClusterMonitoringOpe... 0.010959 \n", + "foc|monitoring|Degraded|UpdatingprometheusAdapt... 0.005479 \n", + "alert|openshift-monitoring|KubePodNotReady 0.117808 \n", + "alert|default|AggregatedAPIDown 0.010959 \n", + "alert|openshift-monitoring|KubeContainerWaiting 0.024658 \n", + "alert|KubeClientErrors 0.008219 \n", + "foc|monitoring|Progressing|RollOutInProgress|f311 0.002740 \n", + "foc|cloud-credential|Degraded|CredentialsFailin... 0.002740 \n", + "foc|cloud-credential|Progressing|Reconciling|b7a8 0.002740 " + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# \"average\" symptom vector for this cluster\n", + "curr_clust_mean_symptom = (\n", + " X_df[is_depl_in_clust].mean().to_frame(\"percent_affected\")\n", + ")\n", + "display(HTML(\"

Most Affecting Symptoms

\"))\n", + "display(\n", + " curr_clust_mean_symptom.sort_values(\n", + " \"percent_affected\", ascending=False\n", + " ).head(10)\n", + ")\n", + "\n", + "# \"average\" symptom vector for depls not in this cluster\n", + "other_clusts_mean_symptom = (\n", + " X_df[~is_depl_in_clust].mean().to_frame(\"percent_affected\")\n", + ")\n", + "\n", + "# what symptoms have different occurence frequencies as compared to other clusters\n", + "diff = pd.merge(\n", + " curr_clust_mean_symptom,\n", + " other_clusts_mean_symptom,\n", + " how=\"left\",\n", + " left_index=True,\n", + " right_index=True,\n", + " suffixes=(\"_this\", \"_others\"),\n", + ")\n", + "\n", + "# display in descending order of difference\n", + "display(HTML(\"

Most UNIQUELY Affecting Symptoms

\"))\n", + "diff.reindex(\n", + " (diff[\"percent_affected_this\"] - diff[\"percent_affected_others\"])\n", + " .sort_values(ascending=False)\n", + " .index\n", + ").head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "ExecuteTime": { + "end_time": "2021-01-27T16:42:57.325285Z", + "start_time": "2021-01-27T16:42:57.255994Z" + }, + "code_folding": [ + 0 + ], + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Most Affecting Symptom Combinations

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected
symptom_combination
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|KubePodNotReady)1.000000
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors)1.000000
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, alert|openshift-monitoring|KubePodNotReady)1.000000
(alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, alert|openshift-monitoring|KubePodNotReady)1.000000
(alert|openshift-monitoring|KubePodNotReady, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.941176
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|KubePodNotReady, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.941176
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|KubePodNotReady, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.941176
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.941176
(alert|openshift-monitoring|TargetDown|prometheus-adapter, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.941176
(alert|openshift-monitoring|KubePodNotReady, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.941176
\n", + "
" + ], + "text/plain": [ + " percent_affected\n", + "symptom_combination \n", + "(alert|openshift-monitoring|TargetDown|promethe... 1.000000\n", + "(alert|openshift-monitoring|TargetDown|promethe... 1.000000\n", + "(alert|openshift-monitoring|TargetDown|promethe... 1.000000\n", + "(alert|openshift-monitoring|ClusterMonitoringOp... 1.000000\n", + "(alert|openshift-monitoring|KubePodNotReady, al... 0.941176\n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176\n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176\n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176\n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176\n", + "(alert|openshift-monitoring|KubePodNotReady, fo... 0.941176" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Most UNIQUELY Affecting Symptom Combinations

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_affected_thispercent_affected_others
symptom_combination
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|KubePodNotReady)1.0000000.05
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors)1.0000000.05
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, alert|openshift-monitoring|KubePodNotReady)1.0000000.05
(alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, alert|openshift-monitoring|KubePodNotReady)1.0000000.05
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.9411760.05
(alert|openshift-monitoring|KubePodNotReady, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.9411760.05
(alert|openshift-monitoring|TargetDown|prometheus-adapter, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.9411760.05
(alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.9411760.05
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|KubePodNotReady, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.9411760.05
(alert|openshift-monitoring|TargetDown|prometheus-adapter, alert|openshift-monitoring|KubePodNotReady, alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors, foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc)0.9411760.05
\n", + "
" + ], + "text/plain": [ + " percent_affected_this \\\n", + "symptom_combination \n", + "(alert|openshift-monitoring|TargetDown|promethe... 1.000000 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 1.000000 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 1.000000 \n", + "(alert|openshift-monitoring|ClusterMonitoringOp... 1.000000 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176 \n", + "(alert|openshift-monitoring|KubePodNotReady, fo... 0.941176 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176 \n", + "(alert|openshift-monitoring|ClusterMonitoringOp... 0.941176 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.941176 \n", + "\n", + " percent_affected_others \n", + "symptom_combination \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.05 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.05 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.05 \n", + "(alert|openshift-monitoring|ClusterMonitoringOp... 0.05 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.05 \n", + "(alert|openshift-monitoring|KubePodNotReady, fo... 0.05 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.05 \n", + "(alert|openshift-monitoring|ClusterMonitoringOp... 0.05 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.05 \n", + "(alert|openshift-monitoring|TargetDown|promethe... 0.05 " + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# frequent symptom cominations in depls of this cluster\n", + "curr_clust_combinations = get_frequent_symptom_combinations(\n", + " X_df[is_depl_in_clust],\n", + " min_support=0.25,\n", + " drop_singles=True,\n", + ")\n", + "display(HTML(\"

Most Affecting Symptom Combinations

\"))\n", + "display(curr_clust_combinations.head(10))\n", + "\n", + "# frequent symptom patterns in depls of all other clusters\n", + "# NOTE: since num total depls is high, and it can contain depls of different types, min_support is kept v low (~5%)\n", + "other_clusts_combinations = get_frequent_symptom_combinations(\n", + " X_df[~is_depl_in_clust],\n", + " min_support=0.05,\n", + " drop_singles=True,\n", + ")\n", + "\n", + "# what symptom patterns have different frequencies in this cluster as compared to other clusters\n", + "diff = pd.merge(\n", + " curr_clust_combinations,\n", + " other_clusts_combinations,\n", + " how=\"left\",\n", + " left_index=True,\n", + " right_index=True,\n", + " suffixes=(\"_this\", \"_others\"),\n", + ").fillna(0.05)\n", + "\n", + "# display in descending order of difference\n", + "display(HTML(\"

Most UNIQUELY Affecting Symptom Combinations

\"))\n", + "diff.reindex(\n", + " (diff[\"percent_affected_this\"] - diff[\"percent_affected_others\"])\n", + " .sort_values(ascending=False)\n", + " .index\n", + ").head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Interpretation\n", + "It seems (to a non-SME eye) that the main issue for the deployments in this cluster is that prometheus or cluster monitoring operator is not deployed correctly. The symptoms that point towards this are `alert|openshift-monitoring|TargetDown|prometheus-adapter`, `foc|monitoring|Degraded|UpdatingprometheusAdapterFailed|e0dc`, `alert|openshift-monitoring|ClusterMonitoringOperatorReconciliationErrors`, `foc|monitoring|Progressing|RollOutInProgress|f311`, etc." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conclusion and Next Steps\n", + "\n", + "The results above do not seem as definitive as those obtained by running this analysis on production data. When run on data collected from actual production deployments, we were able to surface the _exact_ symptoms and combinations that engineers had used to define the existing `sdn-issue`, `kubelet-down`, and `DefaultSecurityContextConstraints_Mutated` diagnoses.\n", + "\n", + "One possible reason why we do not see the same results here is that CI/CD deployments do not have the same workloads as production deployments. Therefore, the amount and variety of symptoms we have is limited. Nonetheless, as seen in the above [example](#Specific-Cluster-(diagnosis-=-\"sdn-issue\")), these recommendations can still be quite helpful and save engineers time in determining the underlying problem.\n", + "\n", + "Considering the results here and in the notebook with production data, we can conclude that:\n", + "\n", + "1. There is some probability that, if deployments are assigned to the same group/cluster by the clustering algorithm, then many of them share the same or related diagnosis.\n", + "2. Determining the most frequent (and most \"characteristic\") symptoms and symptom combinations using frequent pattern mining can hint towards the underlying diagnosis.\n", + "\n", + "Therefore, ML techniques such as clustering and pattern mining can indeed be used to identify and define new diagnoses.\n", + "\n", + "For the **next steps**, SME's should try to perform the analysis done in `Example Potential Diagnosis` for rest of the cluster (group) ids, to see what other symptom patterns could be made into diagnosis definitions. To do this, simply change the value of the variable `clustid` and re-run the cells in that section." + ] + } + ], + "metadata": { + "finalized": { + "timestamp": 1611764053996, + "trusted": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "0096f59a6ff5415b80bdb30b462b1b1b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Run Interact", + "layout": "IPY_MODEL_a6963905f0b1490686954276b3041ba0", + "style": "IPY_MODEL_810d22ad83004279bb239543aab17344" + } + }, + "015fea98e9cb4fd8921d2928babf9cc7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_815719b492d74536b950f146cf238b14", + "IPY_MODEL_cc8570bbb92143dcbc1994888d2d1a28" + ], + "layout": "IPY_MODEL_cd48f3cbb70646519a2bee4a09199719" + } + }, + "03c3b6f8963148c5807aa0884fe6a5e8": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_b43d35cd5b2045558709795d0ea45072" + } + }, + "06da8f71ff134812a21c67802199be9e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "09157d99750b4bafb66bd0798147977b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "09aa7277a98b45689cab3b76ee7d60fc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "09bbd0b44b354d6492c897cce257f506": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "09c6f042cf3446e6a1dcfab6c75683ef": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0a4bd157b89e43559dd73fee0866efef": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_a9938f87c9d74bd18c1c8017f4cbe2da" + } + }, + "0a93954217e24ce39f01052dc44ede09": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "0ccd6ba36a6549c486333609661aa6ab": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0ea0318e74564234ae0ea1487bf32321": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1021e472ecaf4efab30d65c941f73784": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "minute", + "index": 0, + "layout": "IPY_MODEL_86d52c205a5844c3a4aef8af38b5148b", + "style": "IPY_MODEL_c99b35ec1eeb4cb49d505d84a048d9ee" + } + }, + "102a3df892de4f5c975ff0c035206cef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31" + ], + "description": "day", + "index": 16, + "layout": "IPY_MODEL_35c9c8b504ce458b9d2d9ad61b0f1c0a", + "style": "IPY_MODEL_ec3731d9f26440f083b890b81e75b3df" + } + }, + "119a7c624689434d813d3a615be5e8cd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_3e91bd9aae6948c88da1a1711a59e325", + "IPY_MODEL_cc3aaf470fa64b11b4944d847863b8c3" + ], + "layout": "IPY_MODEL_d219194e639e4b52a3be19a5bbc16c15" + } + }, + "13044b506f444d82a737a6605005bc9c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1511e6a7f0c045c9b64cbf4995394790": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31" + ], + "description": "day", + "index": 16, + "layout": "IPY_MODEL_890ebeb79f474ab48011e721d06b93a6", + "style": "IPY_MODEL_b1c872d655074efaaf7d421a20c41f32" + } + }, + "15adc8fc6af544438619d942c4da8065": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "15b496f6cb6c4f4d864e607e3e5153c8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1696663d58ee425b9ead50e6a33ab534": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectMultipleModel", + "state": { + "_options_labels": [ + "4.3.0", + "4.3.0-0.ci-2020-06-02-135046", + "4.3.0-0.ci-2020-06-02-143046", + "4.3.0-0.ci-2020-06-02-173709", + "4.3.0-0.nightly-2019-10-18-120524", + "4.3.0-0.nightly-2019-12-11-073659", + "4.3.0-0.nightly-2019-12-18-215416", + "4.3.0-0.nightly-2020-01-20-183918", + "4.3.0-0.nightly-2020-03-10-182422", + "4.3.0-0.nightly-2020-05-03-171510", + "4.3.0-0.nightly-2020-06-01-225519", + "4.3.0-0.nightly-ppc64le-2020-01-29-170954", + "4.3.0-0.nightly-ppc64le-2020-03-02-144601", + "4.3.0-0.nightly-ppc64le-2020-03-11-144705", + "4.3.0-0.nightly-ppc64le-2020-04-29-064539", + "4.3.0-0.nightly-s390x-2020-04-20-185529", + "4.3.0-0.okd-2020-05-07-035413", + "4.3.0-rc.2", + "4.3.1", + "4.3.10", + "4.3.11", + "4.3.12", + "4.3.13", + "4.3.16", + "4.3.17", + "4.3.18", + "4.3.19", + "4.3.2", + "4.3.21", + "4.3.22", + "4.3.23", + "4.3.3", + "4.3.5", + "4.3.8", + "4.3.9" + ], + "description": "Patches", + "index": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ], + "layout": "IPY_MODEL_843e1778ae984d70906529844e810968", + "rows": 5, + "style": "IPY_MODEL_2f9454a74a4549959505d18c5d718543" + } + }, + "1ae91e63be8140f1bffb7706ab2aff8e": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_51af6dc301444d3397bd2244591c3a11" + } + }, + "1d93d2e351c342b59cfe0aac70a541fe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "minute", + "index": 0, + "layout": "IPY_MODEL_bf0192248c534f0995c4b9f4ce090a69", + "style": "IPY_MODEL_7d5bab431dc74165bdc15f3d87f5c39d" + } + }, + "1f6a96cb9a554a70acf4556e2bc83005": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_e9d30cea8bdf41b795e8cbffea49d58f" + } + }, + "1f73cc572f2b46d984727b23e2458407": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "20eac18aad9d4d788c33bf150c126ed6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "215a9cfae49f4f6d9f031548aff997b0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_57ffcef54cc74b668630638dd048eb51", + "IPY_MODEL_f99bc377b2fa4b1287dbf170ee088c5e" + ], + "layout": "IPY_MODEL_b8394a07081041eca352b7ad0aa58714" + } + }, + "21e22844406b4607bd9eccf0b7334b61": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "234ba692853b41e895f5e1622ceaa860": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Run Interact", + "layout": "IPY_MODEL_e693bacadcf844b78f22da39d7d1c9cb", + "style": "IPY_MODEL_768a884a67de4a38907b2da1b1c04204" + } + }, + "2369bff6ab674cfd8008df5e3bd251dc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_f6f7c924e22e46f59aa1ab2be5fd8b5f", + "IPY_MODEL_364d88b567f347799df7a2dcfc7e2a11", + "IPY_MODEL_102a3df892de4f5c975ff0c035206cef", + "IPY_MODEL_90bf62ef0b324ea5a1a129e311488af5", + "IPY_MODEL_eac023e292da4a50ae78355829146cda", + "IPY_MODEL_6a52f648ffb14eb9968986850607ba75", + "IPY_MODEL_778beb97d14945908b32029409e800f1", + "IPY_MODEL_52e3eb03517e49cb986123c7753ee324" + ], + "layout": "IPY_MODEL_48a81232d5c94e38a56f7fa84fb67e4a" + } + }, + "23b8a43a307a43b094d80180106aadfa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectMultipleModel", + "state": { + "_options_labels": [ + "4.2.0", + "4.2.0-0.nightly-2019-08-29-062233", + "4.2.0-0.nightly-2019-09-18-114152", + "4.2.0-0.nightly-2019-09-23-154647", + "4.2.0-0.nightly-2019-09-24-194016", + "4.2.0-0.nightly-2019-09-25-233506", + "4.2.0-0.nightly-2019-09-26-192831", + "4.2.0-0.nightly-2019-10-07-203748", + "4.2.0-0.nightly-s390x-2019-12-05-223224", + "4.2.0-rc.3", + "4.2.1", + "4.2.10", + "4.2.10-s390x", + "4.2.12", + "4.2.12-s390x", + "4.2.13", + "4.2.13-s390x", + "4.2.14", + "4.2.16", + "4.2.18", + "4.2.19", + "4.2.2", + "4.2.4", + "4.2.5", + "4.2.7", + "4.2.8", + "4.2.9" + ], + "description": "Patches", + "index": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ], + "layout": "IPY_MODEL_246b6cb501f74e00859882f8a714878f", + "rows": 5, + "style": "IPY_MODEL_98409eb030224181b31200aa09ddbd5e" + } + }, + "246b6cb501f74e00859882f8a714878f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "247fd31698f84c5888e7f40f95f6cf32": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "second", + "index": 0, + "layout": "IPY_MODEL_bac678d7cd8849d380720a9f3e76bfec", + "style": "IPY_MODEL_2a6b22e49a4d4253bd2a3ce021a88454" + } + }, + "2625bbe3fb714fe68b19ba4e12e81581": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "26611313663141ae8ebb84de4968c4f2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2799f90af52645deb9166d90f460c78d": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_35e11b3e0cac479b82cf508bdbd00d59" + } + }, + "2840a00ac95843378f9263bef757dbda": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12" + ], + "description": "month", + "index": 1, + "layout": "IPY_MODEL_32a634ce172746d98cc07d47bfb4864f", + "style": "IPY_MODEL_37e8a916d2b245ef9e2c480b1366c605" + } + }, + "2a6b22e49a4d4253bd2a3ce021a88454": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "2aea9e200b444934886846c727dbabf3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2d17162ea04348aea6c27eefe641d96b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12" + ], + "description": "month", + "index": 1, + "layout": "IPY_MODEL_26611313663141ae8ebb84de4968c4f2", + "style": "IPY_MODEL_21e22844406b4607bd9eccf0b7334b61" + } + }, + "2d5b9f562fab4b6aa87b892f760bd1d0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "second", + "index": 0, + "layout": "IPY_MODEL_e64adc78c7b84ce38ed815895d856e3c", + "style": "IPY_MODEL_69c8cc2860f8490089769841f62cd95f" + } + }, + "2f476652b58f48d78fbed8429946aa5c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "2f9454a74a4549959505d18c5d718543": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "3093b652e58e452da514052942e46636": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3163d9abe1f74289856fbd41d93898e6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "32875dbbe0084885ac8c3b2f352293bf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "32a634ce172746d98cc07d47bfb4864f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "32aa4bd9696d40b5b970db6d95e9e9f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "2020", + "2019", + "2018", + "2017", + "2016", + "2015", + "2014", + "2013", + "2012", + "2011" + ], + "description": "year", + "index": 0, + "layout": "IPY_MODEL_cf3ca8357320446a85819782e4f59173", + "style": "IPY_MODEL_4eda209b3fc3451088bad24592b97013" + } + }, + "33ad57d5f8084db6aae6b8e41e041c6c": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_9737e62a3a384956a2d13f7eb2448b09" + } + }, + "34ce71863cfa44d1902491254aaeb417": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "35c9c8b504ce458b9d2d9ad61b0f1c0a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "35e11b3e0cac479b82cf508bdbd00d59": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "364d88b567f347799df7a2dcfc7e2a11": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12" + ], + "description": "month", + "index": 1, + "layout": "IPY_MODEL_b7d39ffa254c44a1a53ea6674671fd0d", + "style": "IPY_MODEL_e23dd20f3ef5412f9836ef33b8ec3a23" + } + }, + "36b259400bf8424fa2ba15a09547db50": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "type_AWS", + "type_Azure", + "type_BareMetal", + "type_GCP", + "type_Libvirt", + "type_None", + "type_OpenStack", + "type_VSphere", + "type_oVirt" + ], + "description": "prov", + "index": 0, + "layout": "IPY_MODEL_a9c9b9ecbc9b4f2d87083c7321b62f89", + "style": "IPY_MODEL_f8d44ba0dbd1432dbf391f0294657cc5" + } + }, + "36ceee127cd245438a8909ef20c0633b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "37e8a916d2b245ef9e2c480b1366c605": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "3b21e78432084bc885b41d535a2545bc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_1696663d58ee425b9ead50e6a33ab534", + "IPY_MODEL_b46af3399ab143fd9ad92cb10788ac6f" + ], + "layout": "IPY_MODEL_58ad1ba369d24df29a562a05ddadc80a" + } + }, + "3b98c35ed21540818ef1455dcbb516a1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3ddde9715bf44cc882dc4f1d70d5466b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3e3c4f5886f0404b94fe71e40e4581cc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3e89545f0fdc41e09fb007daef0fe088": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3e8cf3da0b014c509986912fd7f3e2ec": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "2020", + "2019", + "2018", + "2017", + "2016", + "2015", + "2014", + "2013", + "2012", + "2011" + ], + "description": "year", + "index": 0, + "layout": "IPY_MODEL_765d602b07ed4ed1b07943a34a7f3377", + "style": "IPY_MODEL_32875dbbe0084885ac8c3b2f352293bf" + } + }, + "3e91bd9aae6948c88da1a1711a59e325": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "ALL (2318)", + "us.ibm.com (1199 depls)", + "gmail.com (44 depls)", + "ibm.com (41 depls)", + "de.ibm.com (16 depls)", + "hpe.com (16 depls)", + "cn.ibm.com (16 depls)", + "in.ibm.com (13 depls)", + "ie.ibm.com (12 depls)", + "dell.com (11 depls)", + "accenture.com (11 depls)", + "intel.com (8 depls)", + "dl.jp.fujitsu.com (8 depls)", + "secureworks.com (8 depls)", + "infosys.com (7 depls)", + "bell.ca (7 depls)", + "jp.ibm.com (7 depls)", + "bkfs.com (7 depls)", + "delta.com (7 depls)", + "o2its.cz (6 depls)", + "rohde-schwarz.com (6 depls)", + "uk.ibm.com (6 depls)", + "kocsistem.com.tr (6 depls)", + "nec.com (6 depls)", + "jp.fujitsu.com (5 depls)", + "hcl.com (5 depls)", + "de.bosch.com (5 depls)", + "landregistry.gov.uk (5 depls)", + "capgroup.com (5 depls)", + "orange.com (5 depls)", + "computacenter.com (4 depls)", + "sparebank1.no (4 depls)", + "t-systems.com (4 depls)", + "sap.com (4 depls)", + "fr.ibm.com (4 depls)", + "nttdata.com (4 depls)", + "ukcloud.com (4 depls)", + "il.ibm.com (4 depls)", + "ca.ibm.com (4 depls)", + "crif.com (4 depls)", + "bankmandiri.co.id (4 depls)", + "tigera.io (4 depls)", + "atos.net (4 depls)", + "debeka.de (4 depls)", + "vmware.com (4 depls)", + "linux.vnet.ibm.com (4 depls)", + "qq.com (4 depls)", + "worldpay.com (4 depls)", + "anz.com (4 depls)", + "etisalat.ae (4 depls)", + "experian.com (4 depls)", + "microsoft.com (3 depls)", + "axa.com (3 depls)", + "intervalintl.com (3 depls)", + "bbva.com (3 depls)", + "dynatrace.com (3 depls)", + "bitmarck.de (3 depls)", + "blood.ca (3 depls)", + "yahoo.com (3 depls)", + "cigna.com (3 depls)", + "cirb.brussels (3 depls)", + "trustmarkbenefits.com (3 depls)", + "nike.com (3 depls)", + "bom.gov.au (3 depls)", + "hitachi.com (3 depls)", + "cern.ch (3 depls)", + "honeywell.com (3 depls)", + "list.orange.com (3 depls)", + "bt.com (3 depls)", + "ncontr.com (3 depls)", + "pl.ibm.com (3 depls)", + "es.ibm.com (3 depls)", + "tractorsupply.com (3 depls)", + "netapp.com (3 depls)", + "aquasec.com (3 depls)", + "faa.gov (3 depls)", + "vegas.com (3 depls)", + "juniper.net (3 depls)", + "redislabs.com (3 depls)", + "sas.com (3 depls)", + "vhi.ie (3 depls)", + "rbc.com (3 depls)", + "ford.com (3 depls)", + "ascendcorp.com (3 depls)", + "fostermoore.com (2 depls)", + "posteitaliane.it (2 depls)", + "pvgroup.be (2 depls)", + "sorint.it (2 depls)", + "exidelife.in (2 depls)", + "elcorteingles.es (2 depls)", + "ra.rockwell.com (2 depls)", + "spf.jp.nec.com (2 depls)", + "deloitte.com (2 depls)", + "rtlabs.ru (2 depls)", + "ornl.gov (2 depls)", + "cloudera.com (2 depls)", + "rechtspraak.nl (2 depls)", + "rise-world.com (2 depls)", + "reply.it (2 depls)", + "catalysts.cc (2 depls)", + "cargo-partner.com (2 depls)", + "popso.it (2 depls)", + "capgemini.com (2 depls)", + "emirates.com (2 depls)", + "npo.nl (2 depls)", + "perficient.com (2 depls)", + "sekom.com.tr (2 depls)", + "dentisoft.com (2 depls)", + "crossvale.com (2 depls)", + "criticaltechworks.com (2 depls)", + "sensiaglobal.com (2 depls)", + "f9c.com.br (2 depls)", + "onespan.com (2 depls)", + "ol.ge (2 depls)", + "gen-e.com (2 depls)", + "csaa.com (2 depls)", + "ocbcnisp.com (2 depls)", + "gig.com (2 depls)", + "dhl.com (2 depls)", + "corp.vodafone.es (2 depls)", + "reisebank.de (2 depls)", + "global.ntt (2 depls)", + "extremedata.com.tw (2 depls)", + "globalrelay.net (2 depls)", + "dxcas.com (2 depls)", + "garantibbva.com.tr (2 depls)", + "cucbc.com (2 depls)", + "provinzial.de (2 depls)", + "nuodb.com (2 depls)", + "eaton.com (2 depls)", + "sbb.ch (2 depls)", + "pegadaian.co.id (2 depls)", + "grupo-pinero.com (2 depls)", + "f5.com (2 depls)", + "ericsson.com (2 depls)", + "bandwidth.com (2 depls)", + "tw.ibm.com (2 depls)", + "tipsport.cz (2 depls)", + "mii.co.id (2 depls)", + "agility.com (2 depls)", + "verifone.com (2 depls)", + "tmrnd.com.my (2 depls)", + "bancocredicoop.coop (2 depls)", + "axians.de (2 depls)", + "transport.nsw.gov.au (2 depls)", + "kolon.com (2 depls)", + "michigan.gov (2 depls)", + "amadeus.com (2 depls)", + "vps.no (2 depls)", + "turbonomic.com (2 depls)", + "metlife.com (2 depls)", + "vodafone.com (2 depls)", + "lsd.co.za (2 depls)", + "au.ibm.com (2 depls)", + "swissmedical.com.ar (2 depls)", + "kela.fi (2 depls)", + "kasten.io (2 depls)", + "unimoni.com (2 depls)", + "unisystems.gr (2 depls)", + "united.com (2 depls)", + "arburg.com (2 depls)", + "ups.com (2 depls)", + "verizonwireless.com (2 depls)", + "arbetsformedlingen.se (2 depls)", + "k8s.jp.nec.com (2 depls)", + "jndata.dk (2 depls)", + "ar.ibm.com (2 depls)", + "tinubu.com (2 depls)", + "uspto.gov (2 depls)", + "krash.be (2 depls)", + "hydro.qc.ca (2 depls)", + "iecisa.com (2 depls)", + "accenturefederal.com (2 depls)", + "technet-asia.com (2 depls)", + "teco.com.ar (2 depls)", + "telefonica.com (2 depls)", + "mwam.com (2 depls)", + "tcs.com (2 depls)", + "bouyguestelecom.fr (2 depls)", + "icbc.com.ar (2 depls)", + "msn.com (2 depls)", + "kuivanto.fi (2 depls)", + "wipro.com (2 depls)", + "hughes.com (2 depls)", + "adlere.fr (2 depls)", + "systex.com.hk (2 depls)", + "163.com (2 depls)", + "msccruises.com (2 depls)", + "lansforsakringar.se (1 depls)", + "karauctionservices.com (1 depls)", + "fi.ibm.com (1 depls)", + "leep.app (1 depls)", + "everbank.com (1 depls)", + "kbtg.tech (1 depls)", + "evtcorp.com (1 depls)", + "lcwaikiki.com (1 depls)", + "kemkes.go.id (1 depls)", + "zsdis.sk (1 depls)", + "feratel.at (1 depls)", + "labanquepostale.fr (1 depls)", + "kubus-it.de (1 depls)", + "extraordy.com (1 depls)", + "ext.adeo.com (1 depls)", + "kr.ibm.com (1 depls)", + "korian.fr (1 depls)", + "exisoft.com.ar (1 depls)", + "lacaja.com.ar (1 depls)", + "keybank.com (1 depls)", + "kolabsys.com (1 depls)", + "kohls.com (1 depls)", + "fedins.com (1 depls)", + "lacework.net (1 depls)", + "extrasys.it (1 depls)", + "exatetechnology.com (1 depls)", + "hr.ibm.com (1 depls)", + "its4u.lu (1 depls)", + "fintechgroup.com (1 depls)", + "hfbank.com.cn (1 depls)", + "googlemail.com (1 depls)", + "insightglobal.com (1 depls)", + "insiel.it (1 depls)", + "inndata.in (1 depls)", + "h-da.de (1 depls)", + "harness.io (1 depls)", + "hcahealthcare.com (1 depls)", + "infineon.com (1 depls)", + "ikea.com (1 depls)", + "intellilink.co.jp (1 depls)", + "hitachi-systems.com (1 depls)", + "hitrust.com.tw (1 depls)", + "hma.honda.com (1 depls)", + "hna.honda.com (1 depls)", + "homecenter.co (1 depls)", + "i-t-m.com (1 depls)", + "hotmail.com (1 depls)", + "hts.ge (1 depls)", + "google.com (1 depls)", + "gmx.net (1 depls)", + "fixedmea.com (1 depls)", + "gd-ms.com (1 depls)", + "flex.com (1 depls)", + "jazz.com.pk (1 depls)", + "fujitsu.com (1 depls)", + "ivteknologi.com (1 depls)", + "g3solutions.com.br (1 depls)", + "ivirma.com (1 depls)", + "itgroupinc.asia (1 depls)", + "gazprom-neft.ru (1 depls)", + "gds.ey.com (1 depls)", + "intesasanpaolo.com (1 depls)", + "itc.li (1 depls)", + "italgas.it (1 depls)", + "it.mos.ru (1 depls)", + "geodis.com (1 depls)", + "it.ibm.com (1 depls)", + "getskillednow.com (1 depls)", + "intility.no (1 depls)", + "gire.com (1 depls)", + "hu.ibm.com (1 depls)", + "cyccustomshop.com (1 depls)", + "enhance-it.dk (1 depls)", + "axa-tech.com (1 depls)", + "bcbssc.com (1 depls)", + "bcbsfl.com (1 depls)", + "bca.co.id (1 depls)", + "barqsystems.com (1 depls)", + "barceloviajes.com (1 depls)", + "bankofthewest.com (1 depls)", + "avisbudget.com (1 depls)", + "bertelsmann.de (1 depls)", + "avinetworks.com (1 depls)", + "aviary.tech (1 depls)", + "avaloq.com (1 depls)", + "aval.ua (1 depls)", + "autozone.com (1 depls)", + "au1.ibm.com (1 depls)", + "bcx.co.za (1 depls)", + "bk.ru (1 depls)", + "bynet.co.il (1 depls)", + "boschrexroth.de (1 depls)", + "btpnsyariah.com (1 depls)", + "bthtech.com (1 depls)", + "br.ibm.com (1 depls)", + "bpsconsultores.com (1 depls)", + "bps-suisse.ch (1 depls)", + "bpba.com.ar (1 depls)", + "bofa.com (1 depls)", + "blackdiamondreporting.com (1 depls)", + "boehringer-ingelheim.com (1 depls)", + "bnz.co.nz (1 depls)", + "bnc.ca (1 depls)", + "bluestembrands.com (1 depls)", + "bls.gov (1 depls)", + "blackducksoftware.com (1 depls)", + "att.com (1 depls)", + "atea.se (1 depls)", + "asset-metrix.com (1 depls)", + "adcubum.com (1 depls)", + "agirc-arrco.fr (1 depls)", + "agiledigital.com.au (1 depls)", + "advatys.com (1 depls)", + "advance-auto.com (1 depls)", + "adfinis-sygroup.ch (1 depls)", + "adeoservices.com (1 depls)", + "achmea.nl (1 depls)", + "asia.ccb.com (1 depls)", + "acdigital.com.br (1 depls)", + "acceleris.ch (1 depls)", + "abanca.com (1 depls)", + "a1.at (1 depls)", + "4data.ch (1 depls)", + "126.com (1 depls)", + "aliyun.com (1 depls)", + "alliander.com (1 depls)", + "alltechsolucoes.com.br (1 depls)", + "altroninc.com (1 depls)", + "amazon.com (1 depls)", + "anadoluefes.com (1 depls)", + "anchore.com (1 depls)", + "ao.uscourts.gov (1 depls)", + "aoins.com (1 depls)", + "ap-com.co.jp (1 depls)", + "apg.at (1 depls)", + "apis-it.hr (1 depls)", + "apptecinc.com (1 depls)", + "appvalue.ro (1 depls)", + "apx.fr (1 depls)", + "aramco.com (1 depls)", + "aricent.com (1 depls)", + "buenosaires.gob.ar (1 depls)", + "c3.ai (1 depls)", + "emc.com (1 depls)", + "daa.ie (1 depls)", + "dct-cloud.com (1 depls)", + "datagumbo.com (1 depls)", + "datacom.co.nz (1 depls)", + "darkwolfsolutions.com (1 depls)", + "daocloud.io (1 depls)", + "danskecommodities.com (1 depls)", + "cz.ibm.com (1 depls)", + "deloitte.de (1 depls)", + "lhind.dlh.de (1 depls)", + "cyberark.com (1 depls)", + "ctc-g.com.sg (1 depls)", + "cspq.gouv.qc.ca (1 depls)", + "cspire.com (1 depls)", + "csiweb.com (1 depls)", + "decsoft.com.pl (1 depls)", + "det.nsw.edu.au (1 depls)", + "cablevision.com.ar (1 depls)", + "edgebound.com (1 depls)", + "email.unc.edu (1 depls)", + "emag.ro (1 depls)", + "elotl.co (1 depls)", + "elkarlan.onmicrosoft.com (1 depls)", + "eginnovations.com (1 depls)", + "egcp.com (1 depls)", + "econocom.com (1 depls)", + "deutsche-boerse.com (1 depls)", + "ece.cmu.edu (1 depls)", + "ec.europa.eu (1 depls)", + "duo.nl (1 depls)", + "doosan.com (1 depls)", + "dict.gov.ph (1 depls)", + "devoteam.com (1 depls)", + "croz.net (1 depls)", + "crown.com (1 depls)", + "cronos.be (1 depls)", + "ch.ibm.com (1 depls)", + "clearlake.ibm.com (1 depls)", + "citizensbank.com (1 depls)", + "cisco.com (1 depls)", + "cielo.com.br (1 depls)", + "chicos.com (1 depls)", + "charter.net (1 depls)", + "cfh.sk (1 depls)", + "cristie.se (1 depls)", + "cetelem.com.br (1 depls)", + "cepsa.com (1 depls)", + "centec.at (1 depls)", + "capitalonline.net (1 depls)", + "canada.ca (1 depls)", + "cambio.se (1 depls)", + "clearstream.com (1 depls)", + "cloudgensys.com (1 depls)", + "cmbchina.com (1 depls)", + "cn.fujitsu.com (1 depls)", + "cnr.it (1 depls)", + "cnsys.bg (1 depls)", + "cognitivescale.com (1 depls)", + "comafi.com.ar (1 depls)", + "comas.co.kr (1 depls)", + "commvault.com (1 depls)", + "comparex.com.tr (1 depls)", + "consol.de (1 depls)", + "couchbase.com (1 depls)", + "cpcc.edu (1 depls)", + "cra-arc.gc.ca (1 depls)", + "crediteurope.nl (1 depls)", + "creditone.com (1 depls)", + "lfst.bayern.de (1 depls)", + "ztech.io (1 depls)", + "0x233.cn (1 depls)", + "tcbs.com.vn (1 depls)", + "tier2consulting.com (1 depls)", + "tiaa.org (1 depls)", + "plusserver.com (1 depls)", + "tiaa-cref.org (1 depls)", + "thy.com (1 depls)", + "portworx.com (1 depls)", + "priorbank.by (1 depls)", + "prodevans.com (1 depls)", + "produban.com (1 depls)", + "proedge.hk (1 depls)", + "thinkahead.com (1 depls)", + "th.ibm.com (1 depls)", + "teranet.ca (1 depls)", + "tera-sky.com (1 depls)", + "pronaca.com (1 depls)", + "tep.com (1 depls)", + "telus.com (1 depls)", + "prosis.de (1 depls)", + "prosol.com (1 depls)", + "proteon.com (1 depls)", + "proxy.nl (1 depls)", + "teliacygate.fi (1 depls)", + "psba.qld.gov.au (1 depls)", + "techlead.com.br (1 depls)", + "ptt.gov.tr (1 depls)", + "techdata.com (1 depls)", + "team.telstra.com (1 depls)", + "planeta.es (1 depls)", + "tieto.com (1 depls)", + "pixar.com (1 depls)", + "otago.ac.nz (1 depls)", + "omnitracs.com (1 depls)", + "uib.es (1 depls)", + "twistlock.com (1 depls)", + "openline.nl (1 depls)", + "opennaru.com (1 depls)", + "opsta.co.th (1 depls)", + "oraex.com.br (1 depls)", + "orange.fr (1 depls)", + "origo.is (1 depls)", + "tre.se (1 depls)", + "tr.ibm.com (1 depls)", + "tpg.ch (1 depls)", + "outlook.com (1 depls)", + "tigbit.co.uk (1 depls)", + "outlook.fr (1 depls)", + "ozguryazilim.com.tr (1 depls)", + "packet-systems.com (1 depls)", + "tmx.com (1 depls)", + "payback.net (1 depls)", + "tmbbank.com (1 depls)", + "pbtech.net.br (1 depls)", + "penguincomputing.com (1 depls)", + "perceptilabs.com (1 depls)", + "physter.com (1 depls)", + "pinkroccade.nl (1 depls)", + "piros.be (1 depls)", + "tds.fujitsu.com (1 depls)", + "tbcbank.com.ge (1 depls)", + "ocbc.com (1 depls)", + "puzzle.ch (1 depls)", + "service-rz.de (1 depls)", + "sg.ibm.com (1 depls)", + "sg.smbc.co.jp (1 depls)", + "shaun.io (1 depls)", + "shi-g.com (1 depls)", + "sicredi.com.br (1 depls)", + "sigma.fr (1 depls)", + "startx.fr (1 depls)", + "starhub.com (1 depls)", + "standardbank.co.za (1 depls)", + "stackrox.com (1 depls)", + "ss.jrkyushu-g.co.jp (1 depls)", + "sita.aero (1 depls)", + "src.si (1 depls)", + "sprint.com (1 depls)", + "six-group.com (1 depls)", + "spirent.com (1 depls)", + "slac.stanford.edu (1 depls)", + "sll.se (1 depls)", + "snt.ro (1 depls)", + "softec.sk (1 depls)", + "spi.de (1 depls)", + "softwaymedical.fr (1 depls)", + "sogei.it (1 depls)", + "spectrumhealth.org (1 depls)", + "spark.co.nz (1 depls)", + "soprasteria.com (1 depls)", + "semprautilities.com (1 depls)", + "seldon.io (1 depls)", + "steelbridgelabs.com (1 depls)", + "roseltorg.tech (1 depls)", + "tav.aero (1 depls)", + "r-it.at (1 depls)", + "rabobank.nl (1 depls)", + "syspower.com.tw (1 depls)", + "libertyglobal.com (1 depls)", + "rccl.com (1 depls)", + "syncsort.com (1 depls)", + "regionh.dk (1 depls)", + "syncrasy.io (1 depls)", + "rku-it.de (1 depls)", + "robak.at (1 depls)", + "sympany.ch (1 depls)", + "swisscom.com (1 depls)", + "scholzj.com (1 depls)", + "rs.ibm.com (1 depls)", + "swift.com (1 depls)", + "sa.ibm.com (1 depls)", + "saic.com (1 depls)", + "samsung.com (1 depls)", + "swedbank.se (1 depls)", + "saq.qc.ca (1 depls)", + "sberbank.hr (1 depls)", + "stena.com (1 depls)", + "schindler.com (1 depls)", + "schiphol.nl (1 depls)", + "scholastic.com (1 depls)", + "omantel.om (1 depls)", + "os3infotech.com (1 depls)", + "oa.mo.gov (1 depls)", + "mediapro.tv (1 depls)", + "mendix.com (1 depls)", + "wimionline.be (1 depls)", + "mfec.co.th (1 depls)", + "whitehedge.com (1 depls)", + "microland.com (1 depls)", + "microstrat.com (1 depls)", + "mindgate.in (1 depls)", + "wh.jp.nec.com (1 depls)", + "minsait.com (1 depls)", + "westmonroepartners.com (1 depls)", + "mitre.org (1 depls)", + "mobiltel.bg (1 depls)", + "mongodb.com (1 depls)", + "morganstanley.com (1 depls)", + "vw.com (1 depls)", + "mtb.com (1 depls)", + "vub.sk (1 depls)", + "musala.com (1 depls)", + "vrtx.com (1 depls)", + "myriad.com (1 depls)", + "nationwide.co.uk (1 depls)", + "vkb.de (1 depls)", + "natixis.com (1 depls)", + "vismayacorp.com (1 depls)", + "vineti.com (1 depls)", + "videotron.com (1 depls)", + "navitus.com (1 depls)", + "medirect.com.mt (1 depls)", + "mduresources.com (1 depls)", + "nc.rr.com (1 depls)", + "wuerth-it.com (1 depls)", + "zpiz.si (1 depls)", + "liquidit.nz (1 depls)", + "lists.psi.ch (1 depls)", + "zettaset.com (1 depls)", + "lmco.com (1 depls)", + "lme.com (1 depls)", + "zenuity.com (1 depls)", + "loodse.com (1 depls)", + "loto-quebec.com (1 depls)", + "lowes.com (1 depls)", + "lso.ca (1 depls)", + "zap.co.ao (1 depls)", + "za.ibm.com (1 depls)", + "mahkamahagung.go.id (1 depls)", + "ymail.com (1 depls)", + "mail.schwarz (1 depls)", + "yahoo.co.in (1 depls)", + "mandatumlife.fi (1 depls)", + "mantech.com (1 depls)", + "marcusschiesser.de (1 depls)", + "xmann-online.de (1 depls)", + "marlow.com.cy (1 depls)", + "materna.de (1 depls)", + "matrix.co.il (1 depls)", + "mayadata.io (1 depls)", + "mcmaster.ca (1 depls)", + "mdhs.ms.gov (1 depls)", + "nbs.sk (1 depls)", + "multiplan.com (1 depls)", + "solarflare.com (1 depls)", + "verizonmedia.com (1 depls)", + "neuvector.com (1 depls)", + "umb.ch (1 depls)", + "unicredit.eu (1 depls)", + "vdl.lu (1 depls)", + "ngerntidlor.com (1 depls)", + "nice.com (1 depls)", + "ntt-tx.co.jp (1 depls)", + "nl.ibm.com (1 depls)", + "norsk-tipping.no (1 depls)", + "unipoint.co.kr (1 depls)", + "varmeego.com (1 depls)", + "ndb.bg (1 depls)", + "utc.com (1 depls)", + "usaa.com (1 depls)", + "us.logicalis.com (1 depls)", + "ntst.com (1 depls)", + "ntsretail.com (1 depls)", + "netzlink.com (1 depls)", + "urr.se (1 depls)", + "uk.fujitsu.com (1 depls)", + "viada.de (1 depls)", + "uk.mizuho-sc.com (1 depls)", + "nets.eu (1 depls)", + "nutanix.com (1 depls)", + "netcloud.ch (1 depls)", + "netone.co.jp (1 depls)", + "nxp.com (1 depls)", + "nyu.edu (1 depls)", + "nectechnologies.in (1 depls)", + "zf.com (0 depls)", + "upc.ch (0 depls)", + "architecht.com (0 depls)", + "21vianet.com (0 depls)", + "wwt.com (0 depls)", + "adeo.com (0 depls)", + "aditinet.it (0 depls)", + "atpco.net (0 depls)", + "sopragroup.com (0 depls)", + "wuliangye.com.cn (0 depls)", + "autopass.com.br (0 depls)", + "trace3.com (0 depls)", + "turkcell.com.tr (0 depls)", + "tudelft.nl (0 depls)", + "uk.pgds.com (0 depls)", + "tubitak.gov.tr (0 depls)", + "audemarspiguet.com (0 depls)", + "assentis.com (0 depls)", + "ciasc.sc.gov.br (0 depls)", + "yipintsoi.com (0 depls)", + "stofa.dk (0 depls)", + "turksat.com.tr (0 depls)", + "cedrusco.com (0 depls)", + "ccic-net.com.cn (0 depls)", + "aceinfosolutions.com (0 depls)", + "yahoo-corp.jp (0 depls)", + "ccc.jp.nec.com (0 depls)", + "cic.gc.ca (0 depls)", + "trilio.io (0 depls)", + "bionicpulse.mobi (0 depls)", + "stoiximan.gr (0 depls)", + "blum.com (0 depls)", + "timberchronicles.com (0 depls)", + "websam.jp.nec.com (0 depls)", + "teb.com.tr (0 depls)", + "appdynamics.com (0 depls)", + "atradius.com (0 depls)", + "telenetgroup.be (0 depls)", + "vsp.com (0 depls)", + "teliacompany.com (0 depls)", + "verso.hr (0 depls)", + "sulamerica.com.br (0 depls)", + "volkswagen.de (0 depls)", + "bluestem.com (0 depls)", + "beast-code.com (0 depls)", + "apendo.se (0 depls)", + "bendigobank.com.au (0 depls)", + "visma.com (0 depls)", + "teuto.net (0 depls)", + "bestbuy.com (0 depls)", + "baw.de (0 depls)", + "tine.no (0 depls)", + "taos.com (0 depls)", + "brighthousefinancial.com (0 depls)", + "sva.de (0 depls)", + "toyota.com.br (0 depls)", + "ayoy.se (0 depls)", + "caffeine.tv (0 depls)", + "adnovum.ch (0 depls)", + "worldline.com (0 depls)", + "tkhinnovations.com (0 depls)", + "afbnet.it (0 depls)", + "byu.edu (0 depls)", + "tk.de (0 depls)", + "tiri.li (0 depls)", + "bv.com.br (0 depls)", + "sysdig.com (0 depls)", + "ahgora.com.br (0 depls)", + "tamedia.ch (0 depls)", + "airbus.com (0 depls)", + "ais.co.th (0 depls)", + "ute.com.uy (0 depls)", + "lgim.com (0 depls)", + "solace.com (0 depls)", + "here.com (0 depls)", + "grupomatrix.co (0 depls)", + "gruppohera.it (0 depls)", + "gtb.gov.tr (0 depls)", + "hazelcast.com (0 depls)", + "novascotia.ca (0 depls)", + "novadoc.nl (0 depls)", + "helsinki.fi (0 depls)", + "hetg.ie (0 depls)", + "firstrepublic.com (0 depls)", + "hk1.ibm.com (0 depls)", + "holcim.com (0 depls)", + "netscout.com (0 depls)", + "hopitalvs.ch (0 depls)", + "hotpotatoes.nl (0 depls)", + "neoflex.ru (0 depls)", + "ibermatica.com (0 depls)", + "groupeonepoint.com (0 depls)", + "gravis.bg (0 depls)", + "grainger.com (0 depls)", + "nttdocomo.com (0 depls)", + "orpea.net (0 depls)", + "fokus.fraunhofer.de (0 depls)", + "forgerock.com (0 depls)", + "fr.scc.com (0 depls)", + "optus.com.au (0 depls)", + "futuregen.co.kr (0 depls)", + "optimoz.com (0 depls)", + "gasnatural.com (0 depls)", + "opsmx.io (0 depls)", + "ontario.ca (0 depls)", + "genusllc.com (0 depls)", + "gic.com.sg (0 depls)", + "nvidia.com (0 depls)", + "goias.gov.br (0 depls)", + "nuhs.edu.sg (0 depls)", + "ibermutua.es (0 depls)", + "navarra.es (0 depls)", + "ibs.bg (0 depls)", + "jri-america.com (0 depls)", + "kb.dk (0 depls)", + "kb.vlaanderen.be (0 depls)", + "mariadb.com (0 depls)", + "keylane.com (0 depls)", + "kiratech.it (0 depls)", + "knowis.de (0 depls)", + "mail.mil (0 depls)", + "maif.fr (0 depls)", + "komplex-it.dk (0 depls)", + "macif.fr (0 depls)", + "loc.gov (0 depls)", + "lafargeholcim.com (0 depls)", + "list.soliton.co.jp (0 depls)", + "laposte.fr (0 depls)", + "linquest.com (0 depls)", + "marriott.com (0 depls)", + "jit.team (0 depls)", + "idh.ch (0 depls)", + "meteoswiss.ch (0 depls)", + "ih.jp.nec.cm (0 depls)", + "mycom-osi.com (0 depls)", + "illumio.com (0 depls)", + "inditex.com (0 depls)", + "infinkon.de (0 depls)", + "infinkon.eu (0 depls)", + "integraltech.com.au (0 depls)", + "integration.works (0 depls)", + "minsegpres.gob.cl (0 depls)", + "intela.ai (0 depls)", + "intertech.com.tr (0 depls)", + "michelin.com (0 depls)", + "mhi.co.jp (0 depls)", + "itau.com.ar (0 depls)", + "metrodemedellin.gov.co (0 depls)", + "fiserv.com (0 depls)", + "fcc.es (0 depls)", + "cloud9ers.com (0 depls)", + "daum.net (0 depls)", + "ctc-g.co.jp (0 depls)", + "sberbank.ru (0 depls)", + "cybercom.com (0 depls)", + "saagie.com (0 depls)", + "s-und-n.de (0 depls)", + "rpa.gov.uk (0 depls)", + "datastar.com.ar (0 depls)", + "regions.com (0 depls)", + "p0f.net (0 depls)", + "redbridge.se (0 depls)", + "delijn.be (0 depls)", + "dellead.com (0 depls)", + "deloitte.com.au (0 depls)", + "raiffeisengroup.ba (0 depls)", + "quadras.co.id (0 depls)", + "qct.io (0 depls)", + "csx.com (0 depls)", + "sc.nesic.com (0 depls)", + "scanplus.de (0 depls)", + "scigames.at (0 depls)", + "cloudbees.com (0 depls)", + "softwareag.com (0 depls)", + "socgen.com (0 depls)", + "cnvrg.io (0 depls)", + "skatteetaten.no (0 depls)", + "combis.hr (0 depls)", + "commscope.com (0 depls)", + "siriuscom.com (0 depls)", + "singtel.com (0 depls)", + "comtrade.com (0 depls)", + "conova.com (0 depls)", + "sina.cn (0 depls)", + "contracted.pmi.com (0 depls)", + "corp.sysco.com (0 depls)", + "si.ibm.com (0 depls)", + "deutschepost.de (0 depls)", + "puma.com (0 depls)", + "publix.com (0 depls)", + "embl.de (0 depls)", + "employers.com (0 depls)", + "endpointclosing.com (0 depls)", + "enterprisedb.com (0 depls)", + "epam.com (0 depls)", + "epiontis.com (0 depls)", + "erieinsurance.com (0 depls)", + "escenic.com (0 depls)", + "etes.de (0 depls)", + "pivotal.io (0 depls)", + "eurecom.fr (0 depls)", + "pheaa.org (0 depls)", + "pe.ibm.com (0 depls)", + "ext.soprasteria.com (0 depls)", + "paysafe.com (0 depls)", + "paradigmadigital.com (0 depls)", + "pm.nttdata.co.jp (0 depls)", + "elostech.cz (0 depls)", + "dictu.nl (0 depls)", + "proficom.de (0 depls)", + "dimensiondata.com (0 depls)", + "dir.co.jp (0 depls)", + "disney.com (0 depls)", + "dnrd.ae (0 depls)", + "doc88.com.br (0 depls)", + "dorasnaturals.com (0 depls)", + "prudential.co.id (0 depls)", + "dxc.com (0 depls)", + "eagleinvsys.com (0 depls)", + "ec.ibm.com (0 depls)", + "prophetstor.com (0 depls)", + "progressive.com (0 depls)", + "programmer.net (0 depls)", + "profuturo.com.mx (0 depls)", + "elastic.co (0 depls)", + "rbi.co.uk (0 depls)" + ], + "description": "Email Domain", + "index": 0, + "layout": "IPY_MODEL_3ddde9715bf44cc882dc4f1d70d5466b", + "style": "IPY_MODEL_8ad07def4412411da98eaaefa2cb30ad" + } + }, + "44f50b5e96674b5996f6f74e51865d39": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "48a81232d5c94e38a56f7fa84fb67e4a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4932a91d45504079ba0dc55d574f53dd": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_36ceee127cd245438a8909ef20c0633b", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": "4068704a-0ebf-4e6d-98d3-8291ce036c0b\n924876f3-0bad-4686-8019-b01510dd1963\n95aee6a9-a75e-4924-aa10-a94cf275f73b\na9c60f9f-209c-482e-b671-a1e4a163d6d6\nb7bca4a6-8f0a-4bdb-92dc-3ffe5f7defa5\nbb8d5882-7abf-4f9a-aaec-9b115d994bef\ndcd86ab8-7b91-47e7-bc54-bf448a65b7e2\ne82d026e-b418-4e7f-8e58-615f368b9492\ne93cdc61-36c5-43e9-a0ef-8ef59633c90a\n" + } + ] + } + }, + "4a3eb8e856844f78beb43c0f6b1539b9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4b38b24d64ea42baa7e956c6425aed48": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "ALL (5481)", + "us.ibm.com (2527 depls)", + "ibm.com (120 depls)", + "gmail.com (113 depls)", + "redhat.com (68 depls)", + "cn.ibm.com (50 depls)", + "hpe.com (48 depls)", + "uk.ibm.com (42 depls)", + "in.ibm.com (39 depls)", + "fr.ibm.com (30 depls)", + "ie.ibm.com (30 depls)", + "de.ibm.com (23 depls)", + "jp.ibm.com (20 depls)", + "hcl.com (17 depls)", + "ca.ibm.com (16 depls)", + "secureworks.com (16 depls)", + "accenture.com (15 depls)", + "capgroup.com (13 depls)", + "intel.com (13 depls)", + "dell.com (13 depls)", + "prophetstor.com (13 depls)", + "nokia.com (12 depls)", + "cloudera.com (12 depls)", + "twistlock.com (12 depls)", + "cisco.com (11 depls)", + "hotmail.com (11 depls)", + "br.ibm.com (11 depls)", + "o2its.cz (11 depls)", + "bell.ca (10 depls)", + "qq.com (10 depls)", + "atos.net (10 depls)", + "brreg.no (9 depls)", + "tractorsupply.com (9 depls)", + "delta.com (9 depls)", + "landregistry.gov.uk (9 depls)", + "anthem.com (9 depls)", + "pl.ibm.com (9 depls)", + "il.ibm.com (9 depls)", + "dl.jp.fujitsu.com (9 depls)", + "worldpay.com (8 depls)", + "santander.com.ar (8 depls)", + "sas.com (8 depls)", + "cern.ch (8 depls)", + "ford.com (8 depls)", + "sparebank1.no (8 depls)", + "ukcloud.com (8 depls)", + "t-systems.com (8 depls)", + "ticket.noris.net (8 depls)", + "f5.com (8 depls)", + "discover.com (8 depls)", + "tr.ibm.com (7 depls)", + "crossvale.com (7 depls)", + "mon-tier.com (7 depls)", + "rbc.com (7 depls)", + "jndata.dk (7 depls)", + "microsoft.com (7 depls)", + "netone.co.jp (7 depls)", + "regions.com (7 depls)", + "telefonica.com (7 depls)", + "citizensbank.com (7 depls)", + "soprasteria.com (6 depls)", + "nec.com (6 depls)", + "elkarlan.onmicrosoft.com (6 depls)", + "linux.vnet.ibm.com (6 depls)", + "tigera.io (6 depls)", + "trustmarkbenefits.com (6 depls)", + "cscinfo.com (6 depls)", + "deutsche-boerse.com (6 depls)", + "capgemini.com (6 depls)", + "cz.ibm.com (6 depls)", + "es.ibm.com (6 depls)", + "hitachi.com (6 depls)", + "keylane.com (6 depls)", + "axa.com (6 depls)", + "orange.com (6 depls)", + "etisalat.ae (5 depls)", + "qct.io (5 depls)", + "microfocus.com (5 depls)", + "tk.de (5 depls)", + "debeka.de (5 depls)", + "consol.de (5 depls)", + "dynatrace.com (5 depls)", + "dxc.com (5 depls)", + "nl.ibm.com (5 depls)", + "nectechnologies.in (5 depls)", + "ctc-g.co.jp (5 depls)", + "arbetsformedlingen.se (5 depls)", + "ascendcorp.com (5 depls)", + "rct.co.il (5 depls)", + "ais.co.th (5 depls)", + "cigna.com (5 depls)", + "f-i.de (5 depls)", + "plus.pl (5 depls)", + "k8s.jp.nec.com (5 depls)", + "wipro.com (5 depls)", + "it.ibm.com (5 depls)", + "vmware.com (5 depls)", + "sbb.ch (5 depls)", + "alaskaair.com (5 depls)", + "lmco.com (5 depls)", + "lenovo.com (5 depls)", + "au1.ibm.com (5 depls)", + "tipsport.cz (4 depls)", + "volkswagen.de (4 depls)", + "ao.uscourts.gov (4 depls)", + "laposte.fr (4 depls)", + "bom.gov.au (4 depls)", + "elcorteingles.es (4 depls)", + "sg.ibm.com (4 depls)", + "ericsson.com (4 depls)", + "anz.com (4 depls)", + "blood.ca (4 depls)", + "meteorcomm.com (4 depls)", + "za.ibm.com (4 depls)", + "amdocs.com (4 depls)", + "enterprisedb.com (4 depls)", + "wuerth-it.com (4 depls)", + "bitmarck.de (4 depls)", + "kocsistem.com.tr (4 depls)", + "thy.com (4 depls)", + "achmea.nl (4 depls)", + "bankmandiri.co.id (4 depls)", + "asseco.pl (4 depls)", + "kolon.com (4 depls)", + "nationwide.co.uk (4 depls)", + "vodafone.com (4 depls)", + "solarflare.com (4 depls)", + "ltkalmar.se (4 depls)", + "mskcc.org (4 depls)", + "lsd.co.za (4 depls)", + "att.com (4 depls)", + "corp.vodafone.es (4 depls)", + "techdata.com (4 depls)", + "msccruises.com (4 depls)", + "crif.com (4 depls)", + "sap.com (4 depls)", + "cirb.brussels (4 depls)", + "omnitracs.com (4 depls)", + "nike.com (4 depls)", + "hydro.qc.ca (4 depls)", + "skatteetaten.no (4 depls)", + "opennaru.com (4 depls)", + "cslbehring.com (4 depls)", + "cucbc.com (4 depls)", + "experian.com (4 depls)", + "saq.qc.ca (4 depls)", + "transport.nsw.gov.au (4 depls)", + "standardbank.co.za (4 depls)", + "honeywell.com (4 depls)", + "garantibbva.com.tr (4 depls)", + "adcubum.com (4 depls)", + "canada.ca (4 depls)", + "teco.com.ar (4 depls)", + "videotron.com (4 depls)", + "cyberark.com (4 depls)", + "mitre.org (3 depls)", + "aricent.com (3 depls)", + "minsait.com (3 depls)", + "mtb.com (3 depls)", + "mii.co.id (3 depls)", + "accenturefederal.com (3 depls)", + "pentalink.co.kr (3 depls)", + "gm.com (3 depls)", + "sk.com (3 depls)", + "sdx.com (3 depls)", + "seb.se (3 depls)", + "linuxpolska.pl (3 depls)", + "list.orange.com (3 depls)", + "kb.vlaanderen.be (3 depls)", + "kasten.io (3 depls)", + "adlere.fr (3 depls)", + "jp.fujitsu.com (3 depls)", + "jet.su (3 depls)", + "siemens.com (3 depls)", + "jazz.com.pk (3 depls)", + "itau.com.ar (3 depls)", + "it.mos.ru (3 depls)", + "ipi.ch (3 depls)", + "michigan.gov (3 depls)", + "apis-it.hr (3 depls)", + "inaservice.com.cn (3 depls)", + "iecisa.com (3 depls)", + "mwam.com (3 depls)", + "southernco.com (3 depls)", + "mail.ru (3 depls)", + "hu.ibm.com (3 depls)", + "hotpotatoes.nl (3 depls)", + "ru.ibm.com (3 depls)", + "helsinki.fi (3 depls)", + "mcb.mu (3 depls)", + "stjude.org (3 depls)", + "americansystems.com (3 depls)", + "macif.fr (3 depls)", + "netapp.com (3 depls)", + "regionorebrolan.se (3 depls)", + "optus.com.au (3 depls)", + "btpnsyariah.com (3 depls)", + "portoseguro.com.br (3 depls)", + "virginia.edu (3 depls)", + "portworx.com (3 depls)", + "cargo-partner.com (3 depls)", + "onespan.com (3 depls)", + "va.gov (3 depls)", + "cl.ibm.com (3 depls)", + "ocbcnisp.com (3 depls)", + "produban.com (3 depls)", + "nttdata.com (3 depls)", + "feratel.at (3 depls)", + "nri.co.jp (3 depls)", + "unicredit.eu (3 depls)", + "norsk-tipping.no (3 depls)", + "uk.mizuho-sc.com (3 depls)", + "criticaltechworks.com (3 depls)", + "btpn.com (3 depls)", + "brb.com.br (3 depls)", + "ua.ibm.com (3 depls)", + "bouyguestelecom.fr (3 depls)", + "pbz.hr (3 depls)", + "bandwidth.com (3 depls)", + "payback.net (3 depls)", + "zenuity.com (3 depls)", + "paloaltonetworks.com (3 depls)", + "outtherelabs.com (3 depls)", + "bcb.gov.br (3 depls)", + "pheaa.org (3 depls)", + "126.com (3 depls)", + "airbus.com (3 depls)", + "wwt.com (3 depls)", + "wwpdl.vnet.ibm.com (3 depls)", + "ornl.gov (3 depls)", + "origo.is (3 depls)", + "wellmark.com (3 depls)", + "163.com (3 depls)", + "bnz.co.nz (3 depls)", + "cronos.be (3 depls)", + "commvault.com (3 depls)", + "aetna.com (3 depls)", + "es.logicalis.com (3 depls)", + "dnrd.ae (3 depls)", + "tibco.com (3 depls)", + "schiphol.nl (3 depls)", + "dti.ulaval.ca (3 depls)", + "rbs-services.com (3 depls)", + "emirates.com (3 depls)", + "rechtspraak.nl (3 depls)", + "asia.ccb.com (3 depls)", + "deloitte.de (3 depls)", + "teb.com.tr (3 depls)", + "team.telstra.com (3 depls)", + "tds.fujitsu.com (3 depls)", + "tbc.sa (3 depls)", + "redbridge.se (3 depls)", + "redislabs.com (3 depls)", + "faa.gov (3 depls)", + "tine.no (3 depls)", + "netorek.fi (3 depls)", + "anfccorp.com (3 depls)", + "transfond.ro (3 depls)", + "de.bosch.com (3 depls)", + "csx.com (3 depls)", + "customs.bg (3 depls)", + "niandc.co.jp (3 depls)", + "trilio.io (3 depls)", + "travelers.com (3 depls)", + "amadeus.com (2 depls)", + "mainz.ibm.com (2 depls)", + "nrb.be (2 depls)", + "npo.nl (2 depls)", + "outlook.com (2 depls)", + "mont.com (2 depls)", + "liquidit.nz (2 depls)", + "ngerntidlor.com (2 depls)", + "nbch.com.ar (2 depls)", + "nist.gov (2 depls)", + "li9.com (2 depls)", + "pbtech.net.br (2 depls)", + "navitus.com (2 depls)", + "lists.psi.ch (2 depls)", + "materna.de (2 depls)", + "llnl.gov (2 depls)", + "alliander.com (2 depls)", + "nyu.edu (2 depls)", + "anadoluefes.com (2 depls)", + "oncor.com (2 depls)", + "aliyun.com (2 depls)", + "ontario.ca (2 depls)", + "openline.nl (2 depls)", + "neuvector.com (2 depls)", + "netzlink.com (2 depls)", + "meteoswiss.ch (2 depls)", + "live.com (2 depls)", + "maif.fr (2 depls)", + "opsta.co.th (2 depls)", + "andesdigital.com (2 depls)", + "lordabbett.com (2 depls)", + "orange.fr (2 depls)", + "loto-quebec.com (2 depls)", + "nvidia.com (2 depls)", + "original.com.br (2 depls)", + "alcatel-lucent.com (2 depls)", + "kemkes.go.id (2 depls)", + "lansforsakringar.se (2 depls)", + "cloudbees.com (2 depls)", + "cn.fujitsu.com (2 depls)", + "cognizant.com (2 depls)", + "comarch.pl (2 depls)", + "combis.hr (2 depls)", + "atradius.com (2 depls)", + "comp.com.pl (2 depls)", + "confluent.io (2 depls)", + "atpco.net (2 depls)", + "consorsbank.de (2 depls)", + "copergmps.it (2 depls)", + "covis.de (2 depls)", + "cra-arc.gc.ca (2 depls)", + "crediteurope.nl (2 depls)", + "crown.com (2 depls)", + "csaa.com (2 depls)", + "daa.ie (2 depls)", + "dbs.com (2 depls)", + "delijn.be (2 depls)", + "deloitte.com (2 depls)", + "dentisoft.com (2 depls)", + "det.nsw.edu.au (2 depls)", + "deutschepost.de (2 depls)", + "devoteam.com (2 depls)", + "diamanti.com (2 depls)", + "dontouch.ch (2 depls)", + "cloudwerkstatt.com (2 depls)", + "claro.com.ar (2 depls)", + "dxcas.com (2 depls)", + "chicos.com (2 depls)", + "bancamarch.es (2 depls)", + "bancocredicoop.coop (2 depls)", + "banval.sba.com.ar (2 depls)", + "barceloviajes.com (2 depls)", + "b1-systems.de (2 depls)", + "bcx.co.za (2 depls)", + "be.ibm.com (2 depls)", + "bechtle.com (2 depls)", + "axians.de (2 depls)", + "bldr.com (2 depls)", + "bls.ch (2 depls)", + "blum.com (2 depls)", + "boeing.com (2 depls)", + "bps-suisse.ch (2 depls)", + "brighthousefinancial.com (2 depls)", + "broadcom.com (2 depls)", + "bt.com (2 depls)", + "buenosaires.gob.ar (2 depls)", + "bv.com.br (2 depls)", + "c3.ai (2 depls)", + "avisbudget.com (2 depls)", + "casa-systems.com (2 depls)", + "catalysts.cc (2 depls)", + "cegeka.be (2 depls)", + "aurotechcorp.com (2 depls)", + "doosan.com (2 depls)", + "eaton.com (2 depls)", + "krash.be (2 depls)", + "aquasec.com (2 depls)", + "helvetia.ch (2 depls)", + "hk1.ibm.com (2 depls)", + "hma.honda.com (2 depls)", + "hopitalvs.ch (2 depls)", + "i-t-m.com (2 depls)", + "ibermutua.es (2 depls)", + "icbc.com.ar (2 depls)", + "ikea.com (2 depls)", + "illumio.com (2 depls)", + "infinkon.de (2 depls)", + "infosys.com (2 depls)", + "ing.com (2 depls)", + "inspur.com (2 depls)", + "intertech.com.tr (2 depls)", + "intervalintl.com (2 depls)", + "intesasanpaolo.com (2 depls)", + "aoins.com (2 depls)", + "its4u.lu (2 depls)", + "jri-america.com (2 depls)", + "kapsch.net (2 depls)", + "kela.fi (2 depls)", + "kohls.com (2 depls)", + "konsalt.com.tr (2 depls)", + "korian.fr (2 depls)", + "kr.ibm.com (2 depls)", + "healthpartners.com (2 depls)", + "h-da.de (2 depls)", + "egcp.com (2 depls)", + "gu.se (2 depls)", + "elostech.cz (2 depls)", + "employers.com (2 depls)", + "endpointclosing.com (2 depls)", + "ergo-life.cn (2 depls)", + "exidelife.in (2 depls)", + "express-scripts.com (2 depls)", + "extraordy.com (2 depls)", + "extremedata.com.tw (2 depls)", + "ashghal.gov.qa (2 depls)", + "fintechgroup.com (2 depls)", + "firstrepublic.com (2 depls)", + "fitit.be (2 depls)", + "fnb.co.za (2 depls)", + "ars.de (2 depls)", + "fostermoore.com (2 depls)", + "gazprom-neft.ru (2 depls)", + "arctiq.ca (2 depls)", + "gen-e.com (2 depls)", + "genusllc.com (2 depls)", + "arburg.com (2 depls)", + "pe.ibm.com (2 depls)", + "global.ntt (2 depls)", + "globalrelay.net (2 depls)", + "grainger.com (2 depls)", + "grupo-pinero.com (2 depls)", + "gire.com (2 depls)", + "anadolusigorta.com.tr (2 depls)", + "schneider.com (2 depls)", + "utk.edu (2 depls)", + "slb.com (2 depls)", + "aditinet.it (2 depls)", + "rohde-schwarz.com (2 depls)", + "us.imshealth.com (2 depls)", + "ro.ibm.com (2 depls)", + "tetrate.io (2 depls)", + "tep.com (2 depls)", + "usda.gov (2 depls)", + "rise-world.com (2 depls)", + "softec.sk (2 depls)", + "telus.com (2 depls)", + "adfinis-sygroup.ch (2 depls)", + "3-s.at (2 depls)", + "valensas.com (2 depls)", + "thehartford.com (2 depls)", + "teliacompany.com (2 depls)", + "telenetgroup.be (2 depls)", + "telekom.de (2 depls)", + "sos.eu (2 depls)", + "verizonmedia.com (2 depls)", + "spark.co.nz (2 depls)", + "spectrumhealth.org (2 depls)", + "vineti.com (2 depls)", + "visana.ch (2 depls)", + "purestorage.com (2 depls)", + "systex.com.hk (2 depls)", + "syspower.com.tw (2 depls)", + "sysage.com.tw (2 depls)", + "ups.com (2 depls)", + "rs.ibm.com (2 depls)", + "progressive.com (2 depls)", + "sbm.com.sa (2 depls)", + "trace3.com (2 depls)", + "sekom.com.tr (2 depls)", + "turbonomic.com (2 depls)", + "turkcell.com.tr (2 depls)", + "tohmatsu.co.jp (2 depls)", + "schufa.de (2 depls)", + "scholastic.com (2 depls)", + "senduvu.com (2 depls)", + "tw.ibm.com (2 depls)", + "scanplus.de (2 depls)", + "aareon.com (2 depls)", + "tmrnd.com.my (2 depls)", + "tmbbank.com (2 depls)", + "sanofi-aventis.com (2 depls)", + "rt.ru (2 depls)", + "uk.fujitsu.com (2 depls)", + "si.ibm.com (2 depls)", + "abanca.com (2 depls)", + "samsung.com (2 depls)", + "ulx.hu (2 depls)", + "advance-auto.com (2 depls)", + "umb.ch (2 depls)", + "safaricom.co.ke (2 depls)", + "sabancidx.com (2 depls)", + "tinubu.com (2 depls)", + "s-itsolutions.at (2 depls)", + "tiaa-cref.org (2 depls)", + "rtlabs.ru (2 depls)", + "vsp.com (2 depls)", + "reisebank.de (2 depls)", + "aexp.com (2 depls)", + "stoiximan.gr (2 depls)", + "startx.fr (2 depls)", + "stat.gouv.qc.ca (2 depls)", + "syntegrity.com.au (2 depls)", + "syncsort.com (2 depls)", + "swissmedical.com.ar (2 depls)", + "acp.at (2 depls)", + "pixar.com (2 depls)", + "piros.be (2 depls)", + "14west.us (2 depls)", + "starhub.com (2 depls)", + "yahoo.com (2 depls)", + "swedbank.se (2 depls)", + "pfandbriefbank.com (2 depls)", + "swdeca.com (2 depls)", + "pf.gov.br (2 depls)", + "yipintsoi.com (2 depls)", + "yoox.com (2 depls)", + "sv-informatik.de (2 depls)", + "webcomm.com.tw (2 depls)", + "ww-informatik.de (2 depls)", + "syr.edu (2 depls)", + "example.com (1 depls)", + "extrasys.it (1 depls)", + "gasnatural.com (1 depls)", + "taos.com (1 depls)", + "dhl.com (1 depls)", + "swifttrans.com (1 depls)", + "dhconsulting.ch (1 depls)", + "dha.gov.ae (1 depls)", + "dewa.gov.ae (1 depls)", + "tjce.jus.br (1 depls)", + "gblsys.com (1 depls)", + "t.ht.hr (1 depls)", + "gbmme.com (1 depls)", + "gd-ms.com (1 depls)", + "tjsys.co.jp (1 depls)", + "swisscom.com (1 depls)", + "dict.gov.ph (1 depls)", + "deutsche-factoring.de (1 depls)", + "ext.soprasteria.com (1 depls)", + "dipres.gob.cl (1 depls)", + "tiri.li (1 depls)", + "asset-metrix.com (1 depls)", + "gantek.com (1 depls)", + "dlt.com (1 depls)", + "tier2consulting.com (1 depls)", + "ext.ec.europa.eu (1 depls)", + "docupace.com (1 depls)", + "dollargeneral.com (1 depls)", + "thinksis.com (1 depls)", + "dpf.jp.nec.com (1 depls)", + "gaminginnovationgroup.com (1 depls)", + "gabrielli.info (1 depls)", + "deutschebahn.com (1 depls)", + "tkhinnovations.com (1 depls)", + "ewerk.com (1 depls)", + "tre.se (1 depls)", + "archmi.com (1 depls)", + "defacto.com.tr (1 depls)", + "decsoft.com.pl (1 depls)", + "tpg.ch (1 depls)", + "aceinfosolutions.com (1 depls)", + "supcom.tn (1 depls)", + "ddti.net (1 depls)", + "exxonmobil.com (1 depls)", + "triliodata.com (1 depls)", + "datto.com (1 depls)", + "daticloud.com (1 depls)", + "datatrend.com (1 depls)", + "datastar.com.ar (1 depls)", + "at.seg-social.es (1 depls)", + "geodis.com (1 depls)", + "a1.bg (1 depls)", + "sys.aok.de (1 depls)", + "fcagroup.com (1 depls)", + "fabasoft.com (1 depls)", + "dellead.com (1 depls)", + "dellteam.com (1 depls)", + "arcor.de (1 depls)", + "deloitte.co.nz (1 depls)", + "sysdig.com (1 depls)", + "tnb.com.my (1 depls)", + "generali.com (1 depls)", + "deloitte.com.au (1 depls)", + "asw.com.hk (1 depls)", + "sva.de (1 depls)", + "fi.ibm.com (1 depls)", + "asfinag.at (1 depls)", + "dspace.de (1 depls)", + "dsv.com (1 depls)", + "g-able.com (1 depls)", + "firstdata.com (1 depls)", + "telecomitalia.it (1 depls)", + "erieinsurance.com (1 depls)", + "fisglobal.com (1 depls)", + "tcmb.gov.tr (1 depls)", + "ereinsure.com (1 depls)", + "epiontis.com (1 depls)", + "daocloud.io (1 depls)", + "thinkahead.com (1 depls)", + "enonic.com (1 depls)", + "exisoft.com.ar (1 depls)", + "fixedmea.com (1 depls)", + "enfogroup.com (1 depls)", + "enea.com (1 depls)", + "flhealth.gov (1 depls)", + "academia-online.org (1 depls)", + "escenic.com (1 depls)", + "esri.com (1 depls)", + "exatetechnology.com (1 depls)", + "estafet.com (1 depls)", + "asl.com.hk (1 depls)", + "etechsystem.co.kr (1 depls)", + "etele.com.ua (1 depls)", + "techmahindra.com (1 depls)", + "fiserv.com (1 depls)", + "eurecom.fr (1 depls)", + "eurobank.gr (1 depls)", + "eurobet.it (1 depls)", + "firstmarblehead.com (1 depls)", + "everbank.com (1 depls)", + "acceleris.ch (1 depls)", + "syone.com (1 depls)", + "teliacygate.fi (1 depls)", + "telkomsel.co.id (1 depls)", + "flowfactor.be (1 depls)", + "fronius.com (1 depls)", + "abaxo.co.uk (1 depls)", + "asseco-see.rs (1 depls)", + "dvbern.ch (1 depls)", + "arrow.com (1 depls)", + "futuregen.co.kr (1 depls)", + "thalesgroup.com (1 depls)", + "fujitsu.com (1 depls)", + "abinitio.com (1 depls)", + "fedins.com (1 depls)", + "eagleinvsys.com (1 depls)", + "asseco-see.com (1 depls)", + "teuto.net (1 depls)", + "ebox.ca (1 depls)", + "ec.europa.eu (1 depls)", + "ec.ibm.com (1 depls)", + "synopsys.com (1 depls)", + "free.fr (1 depls)", + "edgeverve.com (1 depls)", + "efinance.com.eg (1 depls)", + "fr.scc.com (1 depls)", + "tasgroup.it (1 depls)", + "eigentech.com (1 depls)", + "aspenmesh.io (1 depls)", + "teranet.ca (1 depls)", + "swisstph.ch (1 depls)", + "sympany.ch (1 depls)", + "tempest.sk (1 depls)", + "email.unc.edu (1 depls)", + "syncrasy.io (1 depls)", + "tav.aero (1 depls)", + "darkmatter.ae (1 depls)", + "pecunpay.es (1 depls)", + "danskecommodities.com (1 depls)", + "varmeego.com (1 depls)", + "vlinkinfo.com (1 depls)", + "bu.edu (1 depls)", + "btrl.ro (1 depls)", + "vn.ibm.com (1 depls)", + "vodafoneziggo.com (1 depls)", + "btp.com.br (1 depls)", + "avl.com (1 depls)", + "volvocars.com (1 depls)", + "vp.dk (1 depls)", + "vps.no (1 depls)", + "vrtx.com (1 depls)", + "vshn.ch (1 depls)", + "vtb.ru (1 depls)", + "bps.gub.uy (1 depls)", + "vub.sk (1 depls)", + "bpba.com.ar (1 depls)", + "bpa.bund.de (1 depls)", + "vw.com (1 depls)", + "wanadoo.fr (1 depls)", + "vkb.de (1 depls)", + "visma.com (1 depls)", + "c3iot.com (1 depls)", + "vfunction.com (1 depls)", + "2nwsl.jp.nec.com (1 depls)", + "cepsa.com (1 depls)", + "verifone.com (1 depls)", + "cedrusco.com (1 depls)", + "ccc.jp.nec.com (1 depls)", + "cbc-companies.com (1 depls)", + "verizon.com (1 depls)", + "catalogicsoftware.com (1 depls)", + "vhi.ie (1 depls)", + "cablelabs.com (1 depls)", + "viessmann.com (1 depls)", + "avaloq.com (1 depls)", + "campbell.com (1 depls)", + "camelland.com (1 depls)", + "cam-sys.net (1 depls)", + "caleres.com (1 depls)", + "caffeine.tv (1 depls)", + "cablevision.com.ar (1 depls)", + "axcelinno.io (1 depls)", + "bokf.com (1 depls)", + "weave.works (1 depls)", + "bcbsma.com (1 depls)", + "berlin-creative.de (1 depls)", + "benefit-one.co.jp (1 depls)", + "bendigobank.com.au (1 depls)", + "bellintegrator.com (1 depls)", + "wx.jp.nec.com (1 depls)", + "beans.com.my (1 depls)", + "yandex.com (1 depls)", + "bcbssc.com (1 depls)", + "bcbsfl.com (1 depls)", + "bestbuy.com (1 depls)", + "yandex.ru (1 depls)", + "bca.co.id (1 depls)", + "baw.de (1 depls)", + "zero2ai.io (1 depls)", + "zerto.com (1 depls)", + "zettaset.com (1 depls)", + "zh.nes.jp.nec.com (1 depls)", + "zivra.com (1 depls)", + "bertelsmann.de (1 depls)", + "bet365.com (1 depls)", + "bnsf.com (1 depls)", + "wellcare.com (1 depls)", + "axians.com (1 depls)", + "bmw.de (1 depls)", + "bmo.com (1 depls)", + "bmc.com (1 depls)", + "websam.jp.nec.com (1 depls)", + "bluestembrands.com (1 depls)", + "blueair.aero (1 depls)", + "bls.gov (1 depls)", + "westmonroepartners.com (1 depls)", + "bevalex.by (1 depls)", + "bliex.com (1 depls)", + "wimionline.be (1 depls)", + "worldline.com (1 depls)", + "bl.ch (1 depls)", + "bkfs.com (1 depls)", + "bitbull.ch (1 depls)", + "birevim.com.tr (1 depls)", + "bhp.com (1 depls)", + "cetelem.com.br (1 depls)", + "cfh.sk (1 depls)", + "danskebank.lt (1 depls)", + "cgi.com (1 depls)", + "uftwf.org (1 depls)", + "ugent.be (1 depls)", + "7p-group.com (1 depls)", + "atix.de (1 depls)", + "uipath.com (1 depls)", + "creditone.com (1 depls)", + "uk.pgds.com (1 depls)", + "cpcc.edu (1 depls)", + "ulb.ac.be (1 depls)", + "couchbase.com (1 depls)", + "ultra.com.br (1 depls)", + "corning.com (1 depls)", + "copel.com (1 depls)", + "contracted.pmi.com (1 depls)", + "unam.mx (1 depls)", + "unbelievable-machine.com (1 depls)", + "conservador.cl (1 depls)", + "conocophillips.com (1 depls)", + "unisystems.gr (1 depls)", + "u-s-p.ch (1 depls)", + "croz.net (1 depls)", + "crunchydata.com (1 depls)", + "tunisietelecom.tn (1 depls)", + "tsisyk.com (1 depls)", + "tubitak.gov.tr (1 depls)", + "cyccustomshop.com (1 depls)", + "ativainvestimentos.com.br (1 depls)", + "tudelft.nl (1 depls)", + "tugo.com (1 depls)", + "cusa.canon.com (1 depls)", + "cumulus-systems.com (1 depls)", + "cu.co.th (1 depls)", + "crv4all.com (1 depls)", + "ctc-g.com.sg (1 depls)", + "ctc-g.com.my (1 depls)", + "cspq.gouv.qc.ca (1 depls)", + "cspire.com (1 depls)", + "tutanota.com (1 depls)", + "csiltd.co.uk (1 depls)", + "gizasystems.com (1 depls)", + "tuwien.ac.at (1 depls)", + "comtegra.pl (1 depls)", + "computaris.com (1 depls)", + "computacenter.com (1 depls)", + "usfalcon.com (1 depls)", + "cloudnesil.com (1 depls)", + "cloudgensys.com (1 depls)", + "cloudfitsoftware.com (1 depls)", + "usaa.com (1 depls)", + "cloud9ers.com (1 depls)", + "cloud-bigdata.net (1 depls)", + "clearstream.com (1 depls)", + "clearlake.ibm.com (1 depls)", + "clarite.pl (1 depls)", + "cmbchina.com (1 depls)", + "uspto.gov (1 depls)", + "citictel-cpc.com (1 depls)", + "citec.com.au (1 depls)", + "vandergiesen.eu (1 depls)", + "cibc.com (1 depls)", + "chrissandrini.ch (1 depls)", + "varegos.com (1 depls)", + "chem.byu.edu (1 depls)", + "us.logicalis.com (1 depls)", + "audemarspiguet.com (1 depls)", + "compro.com.tr (1 depls)", + "comas.co.kr (1 depls)", + "compatibl.com (1 depls)", + "united.com (1 depls)", + "univie.ac.at (1 depls)", + "upc.ch (1 depls)", + "commerzbank.com (1 depls)", + "upenn.edu (1 depls)", + "comcast.net (1 depls)", + "upmc.edu (1 depls)", + "comafi.com.ar (1 depls)", + "us.af.mil (1 depls)", + "coinscrap.com (1 depls)", + "cohesity.com (1 depls)", + "ural.rt.ru (1 depls)", + "cognitivescale.com (1 depls)", + "cognitionfoundry.com (1 depls)", + "urr.se (1 depls)", + "cnsys.bg (1 depls)", + "cnr.it (1 depls)", + "sumerge.com (1 depls)", + "gravis.bg (1 depls)", + "globacap.com (1 depls)", + "mprj.mp.br (1 depls)", + "moodys.com (1 depls)", + "advent.com (1 depls)", + "monex.com.mx (1 depls)", + "rku-it.de (1 depls)", + "rnp.br (1 depls)", + "mintic.gov.co (1 depls)", + "mindgate.in (1 depls)", + "robak.at (1 depls)", + "rockplace.co.kr (1 depls)", + "rogers.com (1 depls)", + "mhi.co.jp (1 depls)", + "mfec.co.th (1 depls)", + "rosbank.ru (1 depls)", + "metlife.com (1 depls)", + "royalcyber.com (1 depls)", + "rpa.gov.uk (1 depls)", + "metanet.co.kr (1 depls)", + "meridianit.co.uk (1 depls)", + "mendix.com (1 depls)", + "morganstanley.com (1 depls)", + "msg.group (1 depls)", + "alpha.gr (1 depls)", + "rhb.ch (1 depls)", + "ndb.bg (1 depls)", + "ncr.com (1 depls)", + "red8.com (1 depls)", + "nbs.sk (1 depls)", + "redbeemedia.com (1 depls)", + "reged.com (1 depls)", + "naver.com (1 depls)", + "regionh.dk (1 depls)", + "n11.com (1 depls)", + "mx1.ibm.com (1 depls)", + "mutua.es (1 depls)", + "musala.com (1 depls)", + "reply.it (1 depls)", + "amdocs.onmicrosoft.com (1 depls)", + "multapplied.net (1 depls)", + "muf.co.id (1 depls)", + "mtel.ba (1 depls)", + "resbank.co.za (1 depls)", + "msn.com (1 depls)", + "medsolv.com (1 depls)", + "mednet.ucla.edu (1 depls)", + "ampsight.com (1 depls)", + "medirect.com.mt (1 depls)", + "loblaw.ca (1 depls)", + "sancorsalud.com.ar (1 depls)", + "sanlam.co.za (1 depls)", + "sayers.com (1 depls)", + "sb.cl (1 depls)", + "list.soliton.co.jp (1 depls)", + "sberbank.hr (1 depls)", + "adp.com (1 depls)", + "scalefree.co.jp (1 depls)", + "anexia-it.com (1 depls)", + "lightning-it.de (1 depls)", + "libertyglobal.com (1 depls)", + "lgcns.com (1 depls)", + "lfst.bayern.de (1 depls)", + "admiralty.io (1 depls)", + "leep.app (1 depls)", + "learnconsult.com (1 depls)", + "sulamerica.com.br (1 depls)", + "lafargeholcim.com (1 depls)", + "lombardodier.com (1 depls)", + "losheroes.cl (1 depls)", + "samoscyber.com (1 depls)", + "mainstream.net (1 depls)", + "mduresources.com (1 depls)", + "mdhs.ms.gov (1 depls)", + "mayadata.io (1 depls)", + "marlow.com.cy (1 depls)", + "markiiisys.com (1 depls)", + "marcelbrouwers.nl (1 depls)", + "mantech.com (1 depls)", + "mandatumlife.fi (1 depls)", + "mail.schwarz (1 depls)", + "lowes.com (1 depls)", + "s-und-n.de (1 depls)", + "mail.mil (1 depls)", + "sa.ibm.com (1 depls)", + "mahkamahagung.go.id (1 depls)", + "maana.io (1 depls)", + "ma.ibm.com (1 depls)", + "lso.ca (1 depls)", + "baloise.ch (1 depls)", + "ndgit.com (1 depls)", + "realglobe.jp (1 depls)", + "labcorp.com (1 depls)", + "pivotal.io (1 depls)", + "plusserver.com (1 depls)", + "agenda.si (1 depls)", + "oraex.com.br (1 depls)", + "pmi.com (1 depls)", + "polyu.edu.hk (1 depls)", + "opitz-consulting.com (1 depls)", + "popso.it (1 depls)", + "portshift.io (1 depls)", + "posteitaliane.it (1 depls)", + "openadvice.de (1 depls)", + "ppb.com (1 depls)", + "pr.sebrae.com.br (1 depls)", + "agd.gov.au (1 depls)", + "principledtechnologies.com (1 depls)", + "ominsure.co.za (1 depls)", + "omantel.om (1 depls)", + "ol.ge (1 depls)", + "oksystem.cz (1 depls)", + "ok.is (1 depls)", + "planeta.es (1 depls)", + "osec.pl (1 depls)", + "raytheon.com (1 depls)", + "oss-group.co.nz (1 depls)", + "pccth.com (1 depls)", + "pc-daiwabo.co.jp (1 depls)", + "perceptilabs.com (1 depls)", + "percona.com (1 depls)", + "pb.com (1 depls)", + "paytrail.com (1 depls)", + "agirc-arrco.fr (1 depls)", + "paycore.com (1 depls)", + "pasam.com (1 depls)", + "paradigmadigital.com (1 depls)", + "par-tec.it (1 depls)", + "pagero.com (1 depls)", + "agiledigital.com.au (1 depls)", + "outlook.fr (1 depls)", + "physter.com (1 depls)", + "outlook.at (1 depls)", + "ahgora.com.br (1 depls)", + "otago.ac.nz (1 depls)", + "ot.olympus.co.jp (1 depls)", + "odsoftwarehouse.com (1 depls)", + "ocsnet.it (1 depls)", + "priorbank.by (1 depls)", + "ocbc.com (1 depls)", + "nisa.com (1 depls)", + "pvgroup.be (1 depls)", + "pwc.com (1 depls)", + "qss.ba (1 depls)", + "allbluesolutions.com (1 depls)", + "quantech.com.lb (1 depls)", + "rabobank.nl (1 depls)", + "networld.co.jp (1 depls)", + "ae.ibm.com (1 depls)", + "netscape.net (1 depls)", + "nets.eu (1 depls)", + "radware.com (1 depls)", + "raiffeisengroup.ba (1 depls)", + "netnumber.com (1 depls)", + "netdriven.de (1 depls)", + "rakuten.com (1 depls)", + "nestle.com (1 depls)", + "nesic.com (1 depls)", + "neoflex.ru (1 depls)", + "nissho-ele.co.jp (1 depls)", + "puma.com (1 depls)", + "psba.qld.gov.au (1 depls)", + "ntst.com (1 depls)", + "oa.mo.gov (1 depls)", + "proalpha.de (1 depls)", + "prodevans.com (1 depls)", + "proedge.hk (1 depls)", + "profi-ag.de (1 depls)", + "nuuptech.com (1 depls)", + "nuuday.dk (1 depls)", + "proficom.de (1 depls)", + "alerant.hu (1 depls)", + "nlmk.com (1 depls)", + "proholding.com.pl (1 depls)", + "novascotia.ca (1 depls)", + "novadoc.nl (1 depls)", + "northstar.co.kr (1 depls)", + "prosis.de (1 depls)", + "protonmail.com (1 depls)", + "nogui.org (1 depls)", + "nnit.com (1 depls)", + "lacaja.com.ar (1 depls)", + "schultz.net (1 depls)", + "labanquepostale.fr (1 depls)", + "spaceflightindustries.com (1 depls)", + "ibagroup.eu (1 depls)", + "i-s.com.pl (1 depls)", + "i-3.co.id (1 depls)", + "spi.de (1 depls)", + "husbanken.no (1 depls)", + "hughes.com (1 depls)", + "hu.nl (1 depls)", + "spirent.com (1 depls)", + "hr.ibm.com (1 depls)", + "sprint.com (1 depls)", + "hpcg.com.mx (1 depls)", + "hpbsc.ch (1 depls)", + "src.si (1 depls)", + "hotmail.de (1 depls)", + "sscinc.com (1 depls)", + "hoplasoftware.com (1 depls)", + "stackrox.com (1 depls)", + "stakater.com (1 depls)", + "homecenter.co (1 depls)", + "apptecinc.com (1 depls)", + "ibs.bg (1 depls)", + "inhouse.wko.at (1 depls)", + "ibtech.com.tr (1 depls)", + "informatika.si (1 depls)", + "kw.zain.com (1 depls)", + "softwareone.com (1 depls)", + "infineon.com (1 depls)", + "adeo.com (1 depls)", + "solem.cl (1 depls)", + "imba.oeaw.ac.at (1 depls)", + "solute.us (1 depls)", + "sopragroup.com (1 depls)", + "sorint.it (1 depls)", + "iisl.com (1 depls)", + "ihealthtechnologies.com (1 depls)", + "igt.com (1 depls)", + "sorintlab.com (1 depls)", + "id.ibm.com (1 depls)", + "icu-it.nl (1 depls)", + "icteam.it (1 depls)", + "icloud.com (1 depls)", + "south.rt.ru (1 depls)", + "holmes.nl (1 depls)", + "holcim.com (1 depls)", + "hna.honda.com (1 depls)", + "stantec.com (1 depls)", + "guavus.com (1 depls)", + "stm.info (1 depls)", + "gruppohera.it (1 depls)", + "grupodifare.com (1 depls)", + "groupeonepoint.com (1 depls)", + "greentube.com (1 depls)", + "pccw.com (1 depls)", + "graat.co.jp (1 depls)", + "gpa-group.it (1 depls)", + "gp.biglobe.co.jp (1 depls)", + "gov.rs (1 depls)", + "gov.nt.ca (1 depls)", + "aramco.com (1 depls)", + "google.com (1 depls)", + "goodmit.co.kr (1 depls)", + "goias.gov.br (1 depls)", + "gmv.com (1 depls)", + "stud.hslu.ch (1 depls)", + "student.kdg.be (1 depls)", + "adaclare.com (1 depls)", + "halkbank.com.tr (1 depls)", + "handelsbanken.se (1 depls)", + "state.ca.gov (1 depls)", + "aprr.fr (1 depls)", + "staples.ca (1 depls)", + "apx.fr (1 depls)", + "hizliyedek.com (1 depls)", + "hitachivantara.com (1 depls)", + "hetg.ie (1 depls)", + "here.com (1 depls)", + "hel.fi (1 depls)", + "healthnow.org (1 depls)", + "hashicorp.com (1 depls)", + "hds.com (1 depls)", + "hco.ntt.co.jp (1 depls)", + "stcpay.com.sa (1 depls)", + "steelbridgelabs.com (1 depls)", + "hbl.ch (1 depls)", + "hazelcast.com (1 depls)", + "havenhealthcare.com (1 depls)", + "ar.ibm.com (1 depls)", + "infracode.ru (1 depls)", + "infinkon.eu (1 depls)", + "injeinc.co.kr (1 depls)", + "siemens-healthineers.com (1 depls)", + "keytradebank.com (1 depls)", + "kennasecurity.com (1 depls)", + "zte.com.cn (1 depls)", + "seldon.io (1 depls)", + "kbtg.tech (1 depls)", + "kbc.be (1 depls)", + "semperti.com (1 depls)", + "kb.dk (1 depls)", + "sentryds.com (1 depls)", + "service-rz.de (1 depls)", + "kaloom.com (1 depls)", + "kaizentechpartners.com (1 depls)", + "service.com.br (1 depls)", + "juntadeandalucia.es (1 depls)", + "juniper.net (1 depls)", + "jsa-group.ru (1 depls)", + "ses.com (1 depls)", + "shi-g.com (1 depls)", + "sibintek.ru (1 depls)", + "keyvatech.com (1 depls)", + "kgi.com (1 depls)", + "kibs.com.mk (1 depls)", + "securustechnologies.com (1 depls)", + "kuehne-nagel.com (1 depls)", + "ktbcs.co.th (1 depls)", + "scigames.at (1 depls)", + "sct.gouv.qc.ca (1 depls)", + "seat.es (1 depls)", + "kp.org (1 depls)", + "kove.net (1 depls)", + "seccom.ch (1 depls)", + "komplex-it.dk (1 depls)", + "kiratech.it (1 depls)", + "sefin.fortaleza.ce.gov.br (1 depls)", + "kolodok.info (1 depls)", + "kolabsys.com (1 depls)", + "sefin.gob.hn (1 depls)", + "segrocers.com (1 depls)", + "kobelcosys.co.jp (1 depls)", + "ko2.it (1 depls)", + "knowis.de (1 depls)", + "jeskell.com (1 depls)", + "shlitz.com (1 depls)", + "silich.de (1 depls)", + "it-fabrik.at (1 depls)", + "iridium-russia.com (1 depls)", + "janwiebe.eu (1 depls)", + "apendo.se (1 depls)", + "slac.stanford.edu (1 depls)", + "invesco.com (1 depls)", + "intility.no (1 depls)", + "sll.se (1 depls)", + "interkassa.com (1 depls)", + "interior.es (1 depls)", + "intercom.com.eg (1 depls)", + "intellilink.co.jp (1 depls)", + "inteliquent.com (1 depls)", + "snt.ro (1 depls)", + "soaint.com (1 depls)", + "instana.com (1 depls)", + "socgen.com (1 depls)", + "inps.it (1 depls)", + "innogy.com (1 depls)", + "innogrid.com (1 depls)", + "isd.jp.nec.com (1 depls)", + "ipo.gov.uk (1 depls)", + "it.ecommpay.com (1 depls)", + "itcenter.com.pt (1 depls)", + "iworks.kr (1 depls)", + "simlogics.net (1 depls)", + "siriuscom.com (1 depls)", + "simtech.nl (1 depls)", + "itergo.com (1 depls)", + "itchannel.asia (1 depls)", + "itl.com.ar (1 depls)", + "baloise.lu (1 depls)", + "apap.com.do (1 depls)", + "singtel.com (1 depls)", + "italgas.it (1 depls)", + "sina.cn (1 depls)", + "apoio.fr (0 depls)", + "amazon.com (0 depls)", + "archinsurance.com (0 depls)", + "acertcon.com.br (0 depls)", + "appdynamics.com (0 depls)", + "aa.jp.fujitsu.com (0 depls)", + "afbnet.it (0 depls)", + "anaconda.com (0 depls)", + "audi.de (0 depls)", + "aselsan.com.tr (0 depls)", + "407etr.com (0 depls)", + "assentis.com (0 depls)", + "21vianet.com (0 depls)", + "ztech.io (0 depls)", + "basefarm.com (0 depls)", + "opentext.com (0 depls)", + "saic.com (0 depls)", + "riverbed.com (0 depls)", + "rackspace.com (0 depls)", + "puzzle.ch (0 depls)", + "programmer.net (0 depls)", + "profuturo.com.mx (0 depls)", + "prgx.com (0 depls)", + "pm.nttdata.co.jp (0 depls)", + "phe.gov.uk (0 depls)", + "paysafe.com (0 depls)", + "otpsrbija.rs (0 depls)", + "orpea.net (0 depls)", + "nxp.com (0 depls)", + "schindler.com (0 depls)", + "nttdocomo.com (0 depls)", + "ntsretail.com (0 depls)", + "nexign.com (0 depls)", + "newrelic.com (0 depls)", + "netscout.com (0 depls)", + "neareasttechnology.com (0 depls)", + "ncontr.com (0 depls)", + "ncl.com (0 depls)", + "multisoft.co.id (0 depls)", + "multiplan.com (0 depls)", + "metrodemedellin.gov.co (0 depls)", + "medius.si (0 depls)", + "scalait.com (0 depls)", + "shaun.io (0 depls)", + "matrix.co.il (0 depls)", + "thejay.net (0 depls)", + "xsyscemerlang.com (0 depls)", + "xc.jp.nec.com (0 depls)", + "websiteitalia.com (0 depls)", + "verizonwireless.com (0 depls)", + "vegas.com (0 depls)", + "ute.com.uy (0 depls)", + "unipoint.co.kr (0 depls)", + "uib.es (0 depls)", + "toyota.com.br (0 depls)", + "tn.gov (0 depls)", + "tmx.com (0 depls)", + "tjpa.jus.br (0 depls)", + "th.ibm.com (0 depls)", + "smanager.com.br (0 depls)", + "technet-asia.com (0 depls)", + "techlead.com.br (0 depls)", + "symbiont.io (0 depls)", + "suva.ch (0 depls)", + "supermicro.com (0 depls)", + "sttproductions.de (0 depls)", + "stonedoorgroup.com (0 depls)", + "stofa.dk (0 depls)", + "stena.com (0 depls)", + "ss.jrkyushu-g.co.jp (0 depls)", + "solace.com (0 depls)", + "softwareag.com (0 depls)", + "mazda.co.jp (0 depls)", + "loxon.eu (0 depls)", + "blackducksoftware.com (0 depls)", + "corp.sysco.com (0 depls)", + "evtcorp.com (0 depls)", + "et.mde.es (0 depls)", + "elastic.co (0 depls)", + "east.ntt.co.jp (0 depls)", + "duo.nl (0 depls)", + "dtcc.com (0 depls)", + "doc88.com.br (0 depls)", + "disney.com (0 depls)", + "delsud.com.ar (0 depls)", + "dataport.de (0 depls)", + "cybercom.com (0 depls)", + "cristie.se (0 depls)", + "conova.com (0 depls)", + "finat.pl (0 depls)", + "commscope.com (0 depls)", + "coming.rs (0 depls)", + "cnvrg.io (0 depls)", + "cms.hhs.gov (0 depls)", + "ciasc.sc.gov.br (0 depls)", + "cetin.cz (0 depls)", + "camptocamp.com (0 depls)", + "caditgroup.com (0 depls)", + "bthtech.com (0 depls)", + "br-petrobras.com.br (0 depls)", + "bolivariano.com (0 depls)", + "bnc.ca (0 depls)", + "fcc.es (0 depls)", + "fintek.com.tr (0 depls)", + "lme.com (0 depls)", + "hkairport.com (0 depls)", + "linquest.com (0 depls)", + "lemc.com.hk (0 depls)", + "kpmg.com (0 depls)", + "kangaroot.net (0 depls)", + "jbcc.co.jp (0 depls)", + "itgroupinc.asia (0 depls)", + "italtel.com (0 depls)", + "ipmgroup.be (0 depls)", + "integraltech.com.au (0 depls)", + "insightglobal.com (0 depls)", + "inet.co.th (0 depls)", + "ibermatica.com (0 depls)", + "hk.ncs-i.com (0 depls)", + "fmc-na.com (0 depls)", + "hcahealthcare.com (0 depls)", + "havelsan.com.tr (0 depls)", + "googlemail.com (0 depls)", + "gigaspaces.com (0 depls)", + "gic.com.sg (0 depls)", + "gfi.fr (0 depls)", + "gexterno.es (0 depls)", + "generali.com.hk (0 depls)", + "gemalto.com (0 depls)", + "gds.ey.com (0 depls)", + "fwd.com (0 depls)", + "fokus.fraunhofer.de (0 depls)", + "103mvl.net (0 depls)" + ], + "description": "Email Domain", + "index": 0, + "layout": "IPY_MODEL_5d7673cf3a104ef3b80456b7d9064424", + "style": "IPY_MODEL_9600d07e093e4f5da96ca880a34bed9c" + } + }, + "4ca4b85e5a4743d8b6b839ef08136c90": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "4eb15db4d63944729bda02250b6d665f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_c0d633a1c21c46929e790335d5a683c7", + "IPY_MODEL_519d8979eacf42d9aa6cecf4793d2393" + ], + "layout": "IPY_MODEL_87ffbcafd0024ab29f6f832a93651349" + } + }, + "4eda209b3fc3451088bad24592b97013": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "4f22969a64664e9aabda077965af960f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "4f7fa96550524dc8aa95f32929a8a7c9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "50741f99b224484a964448776dc2d94c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12" + ], + "description": "month", + "index": 1, + "layout": "IPY_MODEL_613f2f33df8a477982842240fe3621b5", + "style": "IPY_MODEL_8c3c7fc613ef4aae96026b9841a0770c" + } + }, + "519d8979eacf42d9aa6cecf4793d2393": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_6b67d215d0434bd1b3fa62362b422689" + } + }, + "51af6dc301444d3397bd2244591c3a11": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5254775885434d2a8f2ad27eb2bafe4f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "52761f3f29954f5a827538017da54d20": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_36b259400bf8424fa2ba15a09547db50", + "IPY_MODEL_71acdace824f4f07b65419fe12b42762" + ], + "layout": "IPY_MODEL_20eac18aad9d4d788c33bf150c126ed6" + } + }, + "52e3eb03517e49cb986123c7753ee324": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_a80a7a944131406fbb1247bfe2331780" + } + }, + "54bf259fda584e60b1d867c1a976442e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "55416ff6662f4621bca35aa463390d75": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "558010d07d914b5aa82ffafd36ca8350": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_09c6f042cf3446e6a1dcfab6c75683ef" + } + }, + "56d7029d112f4f0db07e59fee35b2d78": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "2020", + "2019", + "2018", + "2017", + "2016", + "2015", + "2014", + "2013", + "2012", + "2011" + ], + "description": "year", + "index": 0, + "layout": "IPY_MODEL_79470df00f5343e284462a997ab2abd0", + "style": "IPY_MODEL_bf3fa02febe048ef992990995d7d4a16" + } + }, + "577d3b8cc6c240fc9ac0d58120e87884": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "57ffcef54cc74b668630638dd048eb51": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectModel", + "state": { + "_options_labels": [ + "ALL (2318 depls)", + "4.2 (1382 depls)", + "4.3 ( 895 depls)", + "4.4 ( 20 depls)", + "nan ( 15 depls)", + "4.1 ( 6 depls)" + ], + "description": "Major.Minor", + "index": 1, + "layout": "IPY_MODEL_a19cbc7f1f6c4eb2bf416f60fe935420", + "style": "IPY_MODEL_c1a3b359ec14434ab5396341bee6c113" + } + }, + "58ad1ba369d24df29a562a05ddadc80a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5c3ee643d90041c2a794e77e903c0128": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_7436bb5586784b3485e69ac9715fbc8a", + "IPY_MODEL_c808e898c71540188379814824eb5a40" + ], + "layout": "IPY_MODEL_c02ec27b73774540abf679c305fddd22" + } + }, + "5d409f20e37c44ef98448c35ecb801b9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "minute", + "index": 0, + "layout": "IPY_MODEL_c887cabc21fd4909bab5e178fb3c2645", + "style": "IPY_MODEL_13044b506f444d82a737a6605005bc9c" + } + }, + "5d7673cf3a104ef3b80456b7d9064424": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "613f2f33df8a477982842240fe3621b5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "61fe6cf101554747a0146b0dff9b29f7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "623e8b2d4a2244bebebcb7215fca3f27": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "ALL" + ], + "description": "email", + "index": 0, + "layout": "IPY_MODEL_d7141cb6d13944c2a9eded9c1c3274d5", + "style": "IPY_MODEL_0a93954217e24ce39f01052dc44ede09" + } + }, + "62cf41cd64ce4c21a042f05258b91b74": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "version_4.3.0 (1470 depls)", + "version_4.2.0 (1005 depls)", + "version_4.2.16 (520 depls)", + "version_4.3.1 (216 depls)", + "version_4.2.13 (208 depls)", + "version_4.2.12 (205 depls)", + "version_4.2.14 (174 depls)", + "version_4.2.7 (153 depls)", + "version_4.4.0 (138 depls)", + "version_4.2.10 (105 depls)", + "version_4.2.8 (70 depls)", + "version_4.2.9 (69 depls)", + "version_4.1.18 (58 depls)", + "version_4.2.2 (55 depls)", + "version_4.2.4 (53 depls)", + "version_4.2.18 (38 depls)", + "version_4.1.20 (32 depls)", + "version_4.3.2 (27 depls)", + "version_4.1.0 (20 depls)", + "version_4.1.9 (18 depls)", + "version_4.2.19 (18 depls)", + "version_4.1.8 (14 depls)", + "version_4.1.16 (11 depls)", + "version_4.1.22 (11 depls)", + "version_4.1.13 (10 depls)", + "version_4.1.29 (8 depls)", + "version_4.1.28 (7 depls)", + "version_4.1.4 (7 depls)", + "version_4.1.14 (6 depls)", + "version_4.1.21 (6 depls)", + "version_4.1.2 (5 depls)", + "version_4.1.30 (5 depls)", + "version_4.1.11 (5 depls)", + "version_4.1.6 (5 depls)", + "version_4.1.31 (4 depls)", + "version_4.2.1 (4 depls)", + "version_4.1.15 (3 depls)", + "version_4.1.3 (3 depls)", + "version_4.1.26 (3 depls)", + "version_4.1.25 (3 depls)", + "version_4.1.34 (2 depls)", + "version_4.1.23 (2 depls)", + "version_4.1.27 (2 depls)", + "version_4.2.5 (1 depls)", + "version_4.1.7 (1 depls)", + "version_4.1.10 (1 depls)" + ], + "description": "version", + "index": 0, + "layout": "IPY_MODEL_ca61e1105ae5426d8a761db8a23fbd96", + "style": "IPY_MODEL_4ca4b85e5a4743d8b6b839ef08136c90" + } + }, + "66d48b18e2404b18b7e3f294da4342d4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_23b8a43a307a43b094d80180106aadfa", + "IPY_MODEL_97a719b053c2459b82f1188588215f62" + ], + "layout": "IPY_MODEL_3e89545f0fdc41e09fb007daef0fe088" + } + }, + "69c8cc2860f8490089769841f62cd95f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "69d6a25b21f040b59f84648d44b32825": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "type_IPI", + "type_UPI", + "type_other" + ], + "description": "infra", + "index": 0, + "layout": "IPY_MODEL_dad8a49e772c4d30a135a257d4dbef6f", + "style": "IPY_MODEL_15adc8fc6af544438619d942c4da8065" + } + }, + "6a52f648ffb14eb9968986850607ba75": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "second", + "index": 0, + "layout": "IPY_MODEL_e8527e57f8104e6aabca48c68173d82b", + "style": "IPY_MODEL_fcbb5c7b5c02442c92f929c921c27b72" + } + }, + "6b67d215d0434bd1b3fa62362b422689": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6bce4e1fd95141b0b9b09c09e0ee7c92": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectModel", + "state": { + "_options_labels": [ + "ALL (5481 depls)", + "4.3 (3398 depls)", + "4.4 (1209 depls)", + "4.2 ( 818 depls)", + "nan ( 51 depls)", + "4.5 ( 4 depls)", + "4.1 ( 1 depls)" + ], + "description": "Major.Minor", + "index": 1, + "layout": "IPY_MODEL_7b760e3579f2405c8bf6bea792ab1b3f", + "style": "IPY_MODEL_c375ee0c5d2848928ec8fbb4ed3e25b2" + } + }, + "6caea2fab7cd49129c759efbe081eba1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectModel", + "state": { + "_options_labels": [ + "4.2 (1382 depls)", + "4.3 ( 895 depls)", + "4.4 ( 20 depls)", + "nan ( 15 depls)", + "4.1 ( 6 depls)" + ], + "description": "Major.Minor", + "index": 0, + "layout": "IPY_MODEL_0ccd6ba36a6549c486333609661aa6ab", + "style": "IPY_MODEL_705390add50c47fcba1207e89d4d1bb5" + } + }, + "6eca99d81e104736af6b35c1cbc40b4b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "705390add50c47fcba1207e89d4d1bb5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "709bc4e9644741feaee466e95d636dae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "70f526958ba9481ca272672460fc998e": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_cc4291f8495141af8c047ff5cef6d91d" + } + }, + "71acdace824f4f07b65419fe12b42762": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_3093b652e58e452da514052942e46636", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": "b7bca4a6-8f0a-4bdb-92dc-3ffe5f7defa5\ndcd86ab8-7b91-47e7-bc54-bf448a65b7e2\ne82d026e-b418-4e7f-8e58-615f368b9492\n" + } + ] + } + }, + "72d8ed04f58d43e49107efd7d03de238": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_69d6a25b21f040b59f84648d44b32825", + "IPY_MODEL_4932a91d45504079ba0dc55d574f53dd" + ], + "layout": "IPY_MODEL_2aea9e200b444934886846c727dbabf3" + } + }, + "7436bb5586784b3485e69ac9715fbc8a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "ALL (2318)", + "us.ibm.com (1199 depls)", + "gmail.com (44 depls)", + "ibm.com (41 depls)", + "de.ibm.com (16 depls)", + "hpe.com (16 depls)", + "cn.ibm.com (16 depls)", + "in.ibm.com (13 depls)", + "ie.ibm.com (12 depls)", + "dell.com (11 depls)", + "accenture.com (11 depls)", + "intel.com (8 depls)", + "dl.jp.fujitsu.com (8 depls)", + "secureworks.com (8 depls)", + "infosys.com (7 depls)", + "bell.ca (7 depls)", + "jp.ibm.com (7 depls)", + "bkfs.com (7 depls)", + "delta.com (7 depls)", + "o2its.cz (6 depls)", + "rohde-schwarz.com (6 depls)", + "uk.ibm.com (6 depls)", + "kocsistem.com.tr (6 depls)", + "nec.com (6 depls)", + "jp.fujitsu.com (5 depls)", + "hcl.com (5 depls)", + "de.bosch.com (5 depls)", + "landregistry.gov.uk (5 depls)", + "capgroup.com (5 depls)", + "orange.com (5 depls)", + "computacenter.com (4 depls)", + "sparebank1.no (4 depls)", + "t-systems.com (4 depls)", + "sap.com (4 depls)", + "fr.ibm.com (4 depls)", + "nttdata.com (4 depls)", + "ukcloud.com (4 depls)", + "il.ibm.com (4 depls)", + "ca.ibm.com (4 depls)", + "crif.com (4 depls)", + "bankmandiri.co.id (4 depls)", + "tigera.io (4 depls)", + "atos.net (4 depls)", + "debeka.de (4 depls)", + "vmware.com (4 depls)", + "linux.vnet.ibm.com (4 depls)", + "qq.com (4 depls)", + "worldpay.com (4 depls)", + "anz.com (4 depls)", + "etisalat.ae (4 depls)", + "experian.com (4 depls)", + "microsoft.com (3 depls)", + "axa.com (3 depls)", + "intervalintl.com (3 depls)", + "bbva.com (3 depls)", + "dynatrace.com (3 depls)", + "bitmarck.de (3 depls)", + "blood.ca (3 depls)", + "yahoo.com (3 depls)", + "cigna.com (3 depls)", + "cirb.brussels (3 depls)", + "trustmarkbenefits.com (3 depls)", + "nike.com (3 depls)", + "bom.gov.au (3 depls)", + "hitachi.com (3 depls)", + "cern.ch (3 depls)", + "honeywell.com (3 depls)", + "list.orange.com (3 depls)", + "bt.com (3 depls)", + "ncontr.com (3 depls)", + "pl.ibm.com (3 depls)", + "es.ibm.com (3 depls)", + "tractorsupply.com (3 depls)", + "netapp.com (3 depls)", + "aquasec.com (3 depls)", + "faa.gov (3 depls)", + "vegas.com (3 depls)", + "juniper.net (3 depls)", + "redislabs.com (3 depls)", + "sas.com (3 depls)", + "vhi.ie (3 depls)", + "rbc.com (3 depls)", + "ford.com (3 depls)", + "ascendcorp.com (3 depls)", + "fostermoore.com (2 depls)", + "posteitaliane.it (2 depls)", + "pvgroup.be (2 depls)", + "sorint.it (2 depls)", + "exidelife.in (2 depls)", + "elcorteingles.es (2 depls)", + "ra.rockwell.com (2 depls)", + "spf.jp.nec.com (2 depls)", + "deloitte.com (2 depls)", + "rtlabs.ru (2 depls)", + "ornl.gov (2 depls)", + "cloudera.com (2 depls)", + "rechtspraak.nl (2 depls)", + "rise-world.com (2 depls)", + "reply.it (2 depls)", + "catalysts.cc (2 depls)", + "cargo-partner.com (2 depls)", + "popso.it (2 depls)", + "capgemini.com (2 depls)", + "emirates.com (2 depls)", + "npo.nl (2 depls)", + "perficient.com (2 depls)", + "sekom.com.tr (2 depls)", + "dentisoft.com (2 depls)", + "crossvale.com (2 depls)", + "criticaltechworks.com (2 depls)", + "sensiaglobal.com (2 depls)", + "f9c.com.br (2 depls)", + "onespan.com (2 depls)", + "ol.ge (2 depls)", + "gen-e.com (2 depls)", + "csaa.com (2 depls)", + "ocbcnisp.com (2 depls)", + "gig.com (2 depls)", + "dhl.com (2 depls)", + "corp.vodafone.es (2 depls)", + "reisebank.de (2 depls)", + "global.ntt (2 depls)", + "extremedata.com.tw (2 depls)", + "globalrelay.net (2 depls)", + "dxcas.com (2 depls)", + "garantibbva.com.tr (2 depls)", + "cucbc.com (2 depls)", + "provinzial.de (2 depls)", + "nuodb.com (2 depls)", + "eaton.com (2 depls)", + "sbb.ch (2 depls)", + "pegadaian.co.id (2 depls)", + "grupo-pinero.com (2 depls)", + "f5.com (2 depls)", + "ericsson.com (2 depls)", + "bandwidth.com (2 depls)", + "tw.ibm.com (2 depls)", + "tipsport.cz (2 depls)", + "mii.co.id (2 depls)", + "agility.com (2 depls)", + "verifone.com (2 depls)", + "tmrnd.com.my (2 depls)", + "bancocredicoop.coop (2 depls)", + "axians.de (2 depls)", + "transport.nsw.gov.au (2 depls)", + "kolon.com (2 depls)", + "michigan.gov (2 depls)", + "amadeus.com (2 depls)", + "vps.no (2 depls)", + "turbonomic.com (2 depls)", + "metlife.com (2 depls)", + "vodafone.com (2 depls)", + "lsd.co.za (2 depls)", + "au.ibm.com (2 depls)", + "swissmedical.com.ar (2 depls)", + "kela.fi (2 depls)", + "kasten.io (2 depls)", + "unimoni.com (2 depls)", + "unisystems.gr (2 depls)", + "united.com (2 depls)", + "arburg.com (2 depls)", + "ups.com (2 depls)", + "verizonwireless.com (2 depls)", + "arbetsformedlingen.se (2 depls)", + "k8s.jp.nec.com (2 depls)", + "jndata.dk (2 depls)", + "ar.ibm.com (2 depls)", + "tinubu.com (2 depls)", + "uspto.gov (2 depls)", + "krash.be (2 depls)", + "hydro.qc.ca (2 depls)", + "iecisa.com (2 depls)", + "accenturefederal.com (2 depls)", + "technet-asia.com (2 depls)", + "teco.com.ar (2 depls)", + "telefonica.com (2 depls)", + "mwam.com (2 depls)", + "tcs.com (2 depls)", + "bouyguestelecom.fr (2 depls)", + "icbc.com.ar (2 depls)", + "msn.com (2 depls)", + "kuivanto.fi (2 depls)", + "wipro.com (2 depls)", + "hughes.com (2 depls)", + "adlere.fr (2 depls)", + "systex.com.hk (2 depls)", + "163.com (2 depls)", + "msccruises.com (2 depls)", + "lansforsakringar.se (1 depls)", + "karauctionservices.com (1 depls)", + "fi.ibm.com (1 depls)", + "leep.app (1 depls)", + "everbank.com (1 depls)", + "kbtg.tech (1 depls)", + "evtcorp.com (1 depls)", + "lcwaikiki.com (1 depls)", + "kemkes.go.id (1 depls)", + "zsdis.sk (1 depls)", + "feratel.at (1 depls)", + "labanquepostale.fr (1 depls)", + "kubus-it.de (1 depls)", + "extraordy.com (1 depls)", + "ext.adeo.com (1 depls)", + "kr.ibm.com (1 depls)", + "korian.fr (1 depls)", + "exisoft.com.ar (1 depls)", + "lacaja.com.ar (1 depls)", + "keybank.com (1 depls)", + "kolabsys.com (1 depls)", + "kohls.com (1 depls)", + "fedins.com (1 depls)", + "lacework.net (1 depls)", + "extrasys.it (1 depls)", + "exatetechnology.com (1 depls)", + "hr.ibm.com (1 depls)", + "its4u.lu (1 depls)", + "fintechgroup.com (1 depls)", + "hfbank.com.cn (1 depls)", + "googlemail.com (1 depls)", + "insightglobal.com (1 depls)", + "insiel.it (1 depls)", + "inndata.in (1 depls)", + "h-da.de (1 depls)", + "harness.io (1 depls)", + "hcahealthcare.com (1 depls)", + "infineon.com (1 depls)", + "ikea.com (1 depls)", + "intellilink.co.jp (1 depls)", + "hitachi-systems.com (1 depls)", + "hitrust.com.tw (1 depls)", + "hma.honda.com (1 depls)", + "hna.honda.com (1 depls)", + "homecenter.co (1 depls)", + "i-t-m.com (1 depls)", + "hotmail.com (1 depls)", + "hts.ge (1 depls)", + "google.com (1 depls)", + "gmx.net (1 depls)", + "fixedmea.com (1 depls)", + "gd-ms.com (1 depls)", + "flex.com (1 depls)", + "jazz.com.pk (1 depls)", + "fujitsu.com (1 depls)", + "ivteknologi.com (1 depls)", + "g3solutions.com.br (1 depls)", + "ivirma.com (1 depls)", + "itgroupinc.asia (1 depls)", + "gazprom-neft.ru (1 depls)", + "gds.ey.com (1 depls)", + "intesasanpaolo.com (1 depls)", + "itc.li (1 depls)", + "italgas.it (1 depls)", + "it.mos.ru (1 depls)", + "geodis.com (1 depls)", + "it.ibm.com (1 depls)", + "getskillednow.com (1 depls)", + "intility.no (1 depls)", + "gire.com (1 depls)", + "hu.ibm.com (1 depls)", + "cyccustomshop.com (1 depls)", + "enhance-it.dk (1 depls)", + "axa-tech.com (1 depls)", + "bcbssc.com (1 depls)", + "bcbsfl.com (1 depls)", + "bca.co.id (1 depls)", + "barqsystems.com (1 depls)", + "barceloviajes.com (1 depls)", + "bankofthewest.com (1 depls)", + "avisbudget.com (1 depls)", + "bertelsmann.de (1 depls)", + "avinetworks.com (1 depls)", + "aviary.tech (1 depls)", + "avaloq.com (1 depls)", + "aval.ua (1 depls)", + "autozone.com (1 depls)", + "au1.ibm.com (1 depls)", + "bcx.co.za (1 depls)", + "bk.ru (1 depls)", + "bynet.co.il (1 depls)", + "boschrexroth.de (1 depls)", + "btpnsyariah.com (1 depls)", + "bthtech.com (1 depls)", + "br.ibm.com (1 depls)", + "bpsconsultores.com (1 depls)", + "bps-suisse.ch (1 depls)", + "bpba.com.ar (1 depls)", + "bofa.com (1 depls)", + "blackdiamondreporting.com (1 depls)", + "boehringer-ingelheim.com (1 depls)", + "bnz.co.nz (1 depls)", + "bnc.ca (1 depls)", + "bluestembrands.com (1 depls)", + "bls.gov (1 depls)", + "blackducksoftware.com (1 depls)", + "att.com (1 depls)", + "atea.se (1 depls)", + "asset-metrix.com (1 depls)", + "adcubum.com (1 depls)", + "agirc-arrco.fr (1 depls)", + "agiledigital.com.au (1 depls)", + "advatys.com (1 depls)", + "advance-auto.com (1 depls)", + "adfinis-sygroup.ch (1 depls)", + "adeoservices.com (1 depls)", + "achmea.nl (1 depls)", + "asia.ccb.com (1 depls)", + "acdigital.com.br (1 depls)", + "acceleris.ch (1 depls)", + "abanca.com (1 depls)", + "a1.at (1 depls)", + "4data.ch (1 depls)", + "126.com (1 depls)", + "aliyun.com (1 depls)", + "alliander.com (1 depls)", + "alltechsolucoes.com.br (1 depls)", + "altroninc.com (1 depls)", + "amazon.com (1 depls)", + "anadoluefes.com (1 depls)", + "anchore.com (1 depls)", + "ao.uscourts.gov (1 depls)", + "aoins.com (1 depls)", + "ap-com.co.jp (1 depls)", + "apg.at (1 depls)", + "apis-it.hr (1 depls)", + "apptecinc.com (1 depls)", + "appvalue.ro (1 depls)", + "apx.fr (1 depls)", + "aramco.com (1 depls)", + "aricent.com (1 depls)", + "buenosaires.gob.ar (1 depls)", + "c3.ai (1 depls)", + "emc.com (1 depls)", + "daa.ie (1 depls)", + "dct-cloud.com (1 depls)", + "datagumbo.com (1 depls)", + "datacom.co.nz (1 depls)", + "darkwolfsolutions.com (1 depls)", + "daocloud.io (1 depls)", + "danskecommodities.com (1 depls)", + "cz.ibm.com (1 depls)", + "deloitte.de (1 depls)", + "lhind.dlh.de (1 depls)", + "cyberark.com (1 depls)", + "ctc-g.com.sg (1 depls)", + "cspq.gouv.qc.ca (1 depls)", + "cspire.com (1 depls)", + "csiweb.com (1 depls)", + "decsoft.com.pl (1 depls)", + "det.nsw.edu.au (1 depls)", + "cablevision.com.ar (1 depls)", + "edgebound.com (1 depls)", + "email.unc.edu (1 depls)", + "emag.ro (1 depls)", + "elotl.co (1 depls)", + "elkarlan.onmicrosoft.com (1 depls)", + "eginnovations.com (1 depls)", + "egcp.com (1 depls)", + "econocom.com (1 depls)", + "deutsche-boerse.com (1 depls)", + "ece.cmu.edu (1 depls)", + "ec.europa.eu (1 depls)", + "duo.nl (1 depls)", + "doosan.com (1 depls)", + "dict.gov.ph (1 depls)", + "devoteam.com (1 depls)", + "croz.net (1 depls)", + "crown.com (1 depls)", + "cronos.be (1 depls)", + "ch.ibm.com (1 depls)", + "clearlake.ibm.com (1 depls)", + "citizensbank.com (1 depls)", + "cisco.com (1 depls)", + "cielo.com.br (1 depls)", + "chicos.com (1 depls)", + "charter.net (1 depls)", + "cfh.sk (1 depls)", + "cristie.se (1 depls)", + "cetelem.com.br (1 depls)", + "cepsa.com (1 depls)", + "centec.at (1 depls)", + "capitalonline.net (1 depls)", + "canada.ca (1 depls)", + "cambio.se (1 depls)", + "clearstream.com (1 depls)", + "cloudgensys.com (1 depls)", + "cmbchina.com (1 depls)", + "cn.fujitsu.com (1 depls)", + "cnr.it (1 depls)", + "cnsys.bg (1 depls)", + "cognitivescale.com (1 depls)", + "comafi.com.ar (1 depls)", + "comas.co.kr (1 depls)", + "commvault.com (1 depls)", + "comparex.com.tr (1 depls)", + "consol.de (1 depls)", + "couchbase.com (1 depls)", + "cpcc.edu (1 depls)", + "cra-arc.gc.ca (1 depls)", + "crediteurope.nl (1 depls)", + "creditone.com (1 depls)", + "lfst.bayern.de (1 depls)", + "ztech.io (1 depls)", + "0x233.cn (1 depls)", + "tcbs.com.vn (1 depls)", + "tier2consulting.com (1 depls)", + "tiaa.org (1 depls)", + "plusserver.com (1 depls)", + "tiaa-cref.org (1 depls)", + "thy.com (1 depls)", + "portworx.com (1 depls)", + "priorbank.by (1 depls)", + "prodevans.com (1 depls)", + "produban.com (1 depls)", + "proedge.hk (1 depls)", + "thinkahead.com (1 depls)", + "th.ibm.com (1 depls)", + "teranet.ca (1 depls)", + "tera-sky.com (1 depls)", + "pronaca.com (1 depls)", + "tep.com (1 depls)", + "telus.com (1 depls)", + "prosis.de (1 depls)", + "prosol.com (1 depls)", + "proteon.com (1 depls)", + "proxy.nl (1 depls)", + "teliacygate.fi (1 depls)", + "psba.qld.gov.au (1 depls)", + "techlead.com.br (1 depls)", + "ptt.gov.tr (1 depls)", + "techdata.com (1 depls)", + "team.telstra.com (1 depls)", + "planeta.es (1 depls)", + "tieto.com (1 depls)", + "pixar.com (1 depls)", + "otago.ac.nz (1 depls)", + "omnitracs.com (1 depls)", + "uib.es (1 depls)", + "twistlock.com (1 depls)", + "openline.nl (1 depls)", + "opennaru.com (1 depls)", + "opsta.co.th (1 depls)", + "oraex.com.br (1 depls)", + "orange.fr (1 depls)", + "origo.is (1 depls)", + "tre.se (1 depls)", + "tr.ibm.com (1 depls)", + "tpg.ch (1 depls)", + "outlook.com (1 depls)", + "tigbit.co.uk (1 depls)", + "outlook.fr (1 depls)", + "ozguryazilim.com.tr (1 depls)", + "packet-systems.com (1 depls)", + "tmx.com (1 depls)", + "payback.net (1 depls)", + "tmbbank.com (1 depls)", + "pbtech.net.br (1 depls)", + "penguincomputing.com (1 depls)", + "perceptilabs.com (1 depls)", + "physter.com (1 depls)", + "pinkroccade.nl (1 depls)", + "piros.be (1 depls)", + "tds.fujitsu.com (1 depls)", + "tbcbank.com.ge (1 depls)", + "ocbc.com (1 depls)", + "puzzle.ch (1 depls)", + "service-rz.de (1 depls)", + "sg.ibm.com (1 depls)", + "sg.smbc.co.jp (1 depls)", + "shaun.io (1 depls)", + "shi-g.com (1 depls)", + "sicredi.com.br (1 depls)", + "sigma.fr (1 depls)", + "startx.fr (1 depls)", + "starhub.com (1 depls)", + "standardbank.co.za (1 depls)", + "stackrox.com (1 depls)", + "ss.jrkyushu-g.co.jp (1 depls)", + "sita.aero (1 depls)", + "src.si (1 depls)", + "sprint.com (1 depls)", + "six-group.com (1 depls)", + "spirent.com (1 depls)", + "slac.stanford.edu (1 depls)", + "sll.se (1 depls)", + "snt.ro (1 depls)", + "softec.sk (1 depls)", + "spi.de (1 depls)", + "softwaymedical.fr (1 depls)", + "sogei.it (1 depls)", + "spectrumhealth.org (1 depls)", + "spark.co.nz (1 depls)", + "soprasteria.com (1 depls)", + "semprautilities.com (1 depls)", + "seldon.io (1 depls)", + "steelbridgelabs.com (1 depls)", + "roseltorg.tech (1 depls)", + "tav.aero (1 depls)", + "r-it.at (1 depls)", + "rabobank.nl (1 depls)", + "syspower.com.tw (1 depls)", + "libertyglobal.com (1 depls)", + "rccl.com (1 depls)", + "syncsort.com (1 depls)", + "regionh.dk (1 depls)", + "syncrasy.io (1 depls)", + "rku-it.de (1 depls)", + "robak.at (1 depls)", + "sympany.ch (1 depls)", + "swisscom.com (1 depls)", + "scholzj.com (1 depls)", + "rs.ibm.com (1 depls)", + "swift.com (1 depls)", + "sa.ibm.com (1 depls)", + "saic.com (1 depls)", + "samsung.com (1 depls)", + "swedbank.se (1 depls)", + "saq.qc.ca (1 depls)", + "sberbank.hr (1 depls)", + "stena.com (1 depls)", + "schindler.com (1 depls)", + "schiphol.nl (1 depls)", + "scholastic.com (1 depls)", + "omantel.om (1 depls)", + "os3infotech.com (1 depls)", + "oa.mo.gov (1 depls)", + "mediapro.tv (1 depls)", + "mendix.com (1 depls)", + "wimionline.be (1 depls)", + "mfec.co.th (1 depls)", + "whitehedge.com (1 depls)", + "microland.com (1 depls)", + "microstrat.com (1 depls)", + "mindgate.in (1 depls)", + "wh.jp.nec.com (1 depls)", + "minsait.com (1 depls)", + "westmonroepartners.com (1 depls)", + "mitre.org (1 depls)", + "mobiltel.bg (1 depls)", + "mongodb.com (1 depls)", + "morganstanley.com (1 depls)", + "vw.com (1 depls)", + "mtb.com (1 depls)", + "vub.sk (1 depls)", + "musala.com (1 depls)", + "vrtx.com (1 depls)", + "myriad.com (1 depls)", + "nationwide.co.uk (1 depls)", + "vkb.de (1 depls)", + "natixis.com (1 depls)", + "vismayacorp.com (1 depls)", + "vineti.com (1 depls)", + "videotron.com (1 depls)", + "navitus.com (1 depls)", + "medirect.com.mt (1 depls)", + "mduresources.com (1 depls)", + "nc.rr.com (1 depls)", + "wuerth-it.com (1 depls)", + "zpiz.si (1 depls)", + "liquidit.nz (1 depls)", + "lists.psi.ch (1 depls)", + "zettaset.com (1 depls)", + "lmco.com (1 depls)", + "lme.com (1 depls)", + "zenuity.com (1 depls)", + "loodse.com (1 depls)", + "loto-quebec.com (1 depls)", + "lowes.com (1 depls)", + "lso.ca (1 depls)", + "zap.co.ao (1 depls)", + "za.ibm.com (1 depls)", + "mahkamahagung.go.id (1 depls)", + "ymail.com (1 depls)", + "mail.schwarz (1 depls)", + "yahoo.co.in (1 depls)", + "mandatumlife.fi (1 depls)", + "mantech.com (1 depls)", + "marcusschiesser.de (1 depls)", + "xmann-online.de (1 depls)", + "marlow.com.cy (1 depls)", + "materna.de (1 depls)", + "matrix.co.il (1 depls)", + "mayadata.io (1 depls)", + "mcmaster.ca (1 depls)", + "mdhs.ms.gov (1 depls)", + "nbs.sk (1 depls)", + "multiplan.com (1 depls)", + "solarflare.com (1 depls)", + "verizonmedia.com (1 depls)", + "neuvector.com (1 depls)", + "umb.ch (1 depls)", + "unicredit.eu (1 depls)", + "vdl.lu (1 depls)", + "ngerntidlor.com (1 depls)", + "nice.com (1 depls)", + "ntt-tx.co.jp (1 depls)", + "nl.ibm.com (1 depls)", + "norsk-tipping.no (1 depls)", + "unipoint.co.kr (1 depls)", + "varmeego.com (1 depls)", + "ndb.bg (1 depls)", + "utc.com (1 depls)", + "usaa.com (1 depls)", + "us.logicalis.com (1 depls)", + "ntst.com (1 depls)", + "ntsretail.com (1 depls)", + "netzlink.com (1 depls)", + "urr.se (1 depls)", + "uk.fujitsu.com (1 depls)", + "viada.de (1 depls)", + "uk.mizuho-sc.com (1 depls)", + "nets.eu (1 depls)", + "nutanix.com (1 depls)", + "netcloud.ch (1 depls)", + "netone.co.jp (1 depls)", + "nxp.com (1 depls)", + "nyu.edu (1 depls)", + "nectechnologies.in (1 depls)", + "zf.com (0 depls)", + "upc.ch (0 depls)", + "architecht.com (0 depls)", + "21vianet.com (0 depls)", + "wwt.com (0 depls)", + "adeo.com (0 depls)", + "aditinet.it (0 depls)", + "atpco.net (0 depls)", + "sopragroup.com (0 depls)", + "wuliangye.com.cn (0 depls)", + "autopass.com.br (0 depls)", + "trace3.com (0 depls)", + "turkcell.com.tr (0 depls)", + "tudelft.nl (0 depls)", + "uk.pgds.com (0 depls)", + "tubitak.gov.tr (0 depls)", + "audemarspiguet.com (0 depls)", + "assentis.com (0 depls)", + "ciasc.sc.gov.br (0 depls)", + "yipintsoi.com (0 depls)", + "stofa.dk (0 depls)", + "turksat.com.tr (0 depls)", + "cedrusco.com (0 depls)", + "ccic-net.com.cn (0 depls)", + "aceinfosolutions.com (0 depls)", + "yahoo-corp.jp (0 depls)", + "ccc.jp.nec.com (0 depls)", + "cic.gc.ca (0 depls)", + "trilio.io (0 depls)", + "bionicpulse.mobi (0 depls)", + "stoiximan.gr (0 depls)", + "blum.com (0 depls)", + "timberchronicles.com (0 depls)", + "websam.jp.nec.com (0 depls)", + "teb.com.tr (0 depls)", + "appdynamics.com (0 depls)", + "atradius.com (0 depls)", + "telenetgroup.be (0 depls)", + "vsp.com (0 depls)", + "teliacompany.com (0 depls)", + "verso.hr (0 depls)", + "sulamerica.com.br (0 depls)", + "volkswagen.de (0 depls)", + "bluestem.com (0 depls)", + "beast-code.com (0 depls)", + "apendo.se (0 depls)", + "bendigobank.com.au (0 depls)", + "visma.com (0 depls)", + "teuto.net (0 depls)", + "bestbuy.com (0 depls)", + "baw.de (0 depls)", + "tine.no (0 depls)", + "taos.com (0 depls)", + "brighthousefinancial.com (0 depls)", + "sva.de (0 depls)", + "toyota.com.br (0 depls)", + "ayoy.se (0 depls)", + "caffeine.tv (0 depls)", + "adnovum.ch (0 depls)", + "worldline.com (0 depls)", + "tkhinnovations.com (0 depls)", + "afbnet.it (0 depls)", + "byu.edu (0 depls)", + "tk.de (0 depls)", + "tiri.li (0 depls)", + "bv.com.br (0 depls)", + "sysdig.com (0 depls)", + "ahgora.com.br (0 depls)", + "tamedia.ch (0 depls)", + "airbus.com (0 depls)", + "ais.co.th (0 depls)", + "ute.com.uy (0 depls)", + "lgim.com (0 depls)", + "solace.com (0 depls)", + "here.com (0 depls)", + "grupomatrix.co (0 depls)", + "gruppohera.it (0 depls)", + "gtb.gov.tr (0 depls)", + "hazelcast.com (0 depls)", + "novascotia.ca (0 depls)", + "novadoc.nl (0 depls)", + "helsinki.fi (0 depls)", + "hetg.ie (0 depls)", + "firstrepublic.com (0 depls)", + "hk1.ibm.com (0 depls)", + "holcim.com (0 depls)", + "netscout.com (0 depls)", + "hopitalvs.ch (0 depls)", + "hotpotatoes.nl (0 depls)", + "neoflex.ru (0 depls)", + "ibermatica.com (0 depls)", + "groupeonepoint.com (0 depls)", + "gravis.bg (0 depls)", + "grainger.com (0 depls)", + "nttdocomo.com (0 depls)", + "orpea.net (0 depls)", + "fokus.fraunhofer.de (0 depls)", + "forgerock.com (0 depls)", + "fr.scc.com (0 depls)", + "optus.com.au (0 depls)", + "futuregen.co.kr (0 depls)", + "optimoz.com (0 depls)", + "gasnatural.com (0 depls)", + "opsmx.io (0 depls)", + "ontario.ca (0 depls)", + "genusllc.com (0 depls)", + "gic.com.sg (0 depls)", + "nvidia.com (0 depls)", + "goias.gov.br (0 depls)", + "nuhs.edu.sg (0 depls)", + "ibermutua.es (0 depls)", + "navarra.es (0 depls)", + "ibs.bg (0 depls)", + "jri-america.com (0 depls)", + "kb.dk (0 depls)", + "kb.vlaanderen.be (0 depls)", + "mariadb.com (0 depls)", + "keylane.com (0 depls)", + "kiratech.it (0 depls)", + "knowis.de (0 depls)", + "mail.mil (0 depls)", + "maif.fr (0 depls)", + "komplex-it.dk (0 depls)", + "macif.fr (0 depls)", + "loc.gov (0 depls)", + "lafargeholcim.com (0 depls)", + "list.soliton.co.jp (0 depls)", + "laposte.fr (0 depls)", + "linquest.com (0 depls)", + "marriott.com (0 depls)", + "jit.team (0 depls)", + "idh.ch (0 depls)", + "meteoswiss.ch (0 depls)", + "ih.jp.nec.cm (0 depls)", + "mycom-osi.com (0 depls)", + "illumio.com (0 depls)", + "inditex.com (0 depls)", + "infinkon.de (0 depls)", + "infinkon.eu (0 depls)", + "integraltech.com.au (0 depls)", + "integration.works (0 depls)", + "minsegpres.gob.cl (0 depls)", + "intela.ai (0 depls)", + "intertech.com.tr (0 depls)", + "michelin.com (0 depls)", + "mhi.co.jp (0 depls)", + "itau.com.ar (0 depls)", + "metrodemedellin.gov.co (0 depls)", + "fiserv.com (0 depls)", + "fcc.es (0 depls)", + "cloud9ers.com (0 depls)", + "daum.net (0 depls)", + "ctc-g.co.jp (0 depls)", + "sberbank.ru (0 depls)", + "cybercom.com (0 depls)", + "saagie.com (0 depls)", + "s-und-n.de (0 depls)", + "rpa.gov.uk (0 depls)", + "datastar.com.ar (0 depls)", + "regions.com (0 depls)", + "p0f.net (0 depls)", + "redbridge.se (0 depls)", + "delijn.be (0 depls)", + "dellead.com (0 depls)", + "deloitte.com.au (0 depls)", + "raiffeisengroup.ba (0 depls)", + "quadras.co.id (0 depls)", + "qct.io (0 depls)", + "csx.com (0 depls)", + "sc.nesic.com (0 depls)", + "scanplus.de (0 depls)", + "scigames.at (0 depls)", + "cloudbees.com (0 depls)", + "softwareag.com (0 depls)", + "socgen.com (0 depls)", + "cnvrg.io (0 depls)", + "skatteetaten.no (0 depls)", + "combis.hr (0 depls)", + "commscope.com (0 depls)", + "siriuscom.com (0 depls)", + "singtel.com (0 depls)", + "comtrade.com (0 depls)", + "conova.com (0 depls)", + "sina.cn (0 depls)", + "contracted.pmi.com (0 depls)", + "corp.sysco.com (0 depls)", + "si.ibm.com (0 depls)", + "deutschepost.de (0 depls)", + "puma.com (0 depls)", + "publix.com (0 depls)", + "embl.de (0 depls)", + "employers.com (0 depls)", + "endpointclosing.com (0 depls)", + "enterprisedb.com (0 depls)", + "epam.com (0 depls)", + "epiontis.com (0 depls)", + "erieinsurance.com (0 depls)", + "escenic.com (0 depls)", + "etes.de (0 depls)", + "pivotal.io (0 depls)", + "eurecom.fr (0 depls)", + "pheaa.org (0 depls)", + "pe.ibm.com (0 depls)", + "ext.soprasteria.com (0 depls)", + "paysafe.com (0 depls)", + "paradigmadigital.com (0 depls)", + "pm.nttdata.co.jp (0 depls)", + "elostech.cz (0 depls)", + "dictu.nl (0 depls)", + "proficom.de (0 depls)", + "dimensiondata.com (0 depls)", + "dir.co.jp (0 depls)", + "disney.com (0 depls)", + "dnrd.ae (0 depls)", + "doc88.com.br (0 depls)", + "dorasnaturals.com (0 depls)", + "prudential.co.id (0 depls)", + "dxc.com (0 depls)", + "eagleinvsys.com (0 depls)", + "ec.ibm.com (0 depls)", + "prophetstor.com (0 depls)", + "progressive.com (0 depls)", + "programmer.net (0 depls)", + "profuturo.com.mx (0 depls)", + "elastic.co (0 depls)", + "rbi.co.uk (0 depls)" + ], + "description": "Email Domain", + "index": 0, + "layout": "IPY_MODEL_09157d99750b4bafb66bd0798147977b", + "style": "IPY_MODEL_709bc4e9644741feaee466e95d636dae" + } + }, + "765d602b07ed4ed1b07943a34a7f3377": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "768a884a67de4a38907b2da1b1c04204": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "778beb97d14945908b32029409e800f1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Run Interact", + "layout": "IPY_MODEL_92e5009e655d4900bedd95c9f1c96044", + "style": "IPY_MODEL_6eca99d81e104736af6b35c1cbc40b4b" + } + }, + "783f835a09b649a3887e918f615fb059": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "79470df00f5343e284462a997ab2abd0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7b760e3579f2405c8bf6bea792ab1b3f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7d4193232f4e4f33a2bd8a872cff8b8c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23" + ], + "description": "hour", + "index": 13, + "layout": "IPY_MODEL_85c04177397c402f8d72fb956cf47eb7", + "style": "IPY_MODEL_0ea0318e74564234ae0ea1487bf32321" + } + }, + "7d5bab431dc74165bdc15f3d87f5c39d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "800f54e897934fa5836687b93a7eeaa3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_4b38b24d64ea42baa7e956c6425aed48", + "IPY_MODEL_33ad57d5f8084db6aae6b8e41e041c6c" + ], + "layout": "IPY_MODEL_e9fab5f63d5b40f998ac866ffd46585a" + } + }, + "810d22ad83004279bb239543aab17344": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "815719b492d74536b950f146cf238b14": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectMultipleModel", + "state": { + "_options_labels": [ + "4.2.0", + "4.2.0-0.nightly-2019-08-29-062233", + "4.2.0-0.nightly-2019-09-18-114152", + "4.2.0-0.nightly-2019-09-23-154647", + "4.2.0-0.nightly-2019-09-24-194016", + "4.2.0-0.nightly-2019-09-25-233506", + "4.2.0-0.nightly-2019-09-26-192831", + "4.2.0-0.nightly-2019-10-07-203748", + "4.2.0-0.nightly-s390x-2019-12-05-223224", + "4.2.0-rc.3", + "4.2.1", + "4.2.10", + "4.2.10-s390x", + "4.2.12", + "4.2.12-s390x", + "4.2.13", + "4.2.13-s390x", + "4.2.14", + "4.2.16", + "4.2.18", + "4.2.19", + "4.2.2", + "4.2.4", + "4.2.5", + "4.2.7", + "4.2.8", + "4.2.9" + ], + "description": "Patches", + "index": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ], + "layout": "IPY_MODEL_09bbd0b44b354d6492c897cce257f506", + "rows": 5, + "style": "IPY_MODEL_e25cd51d19144481a974d4bc5fe103f4" + } + }, + "823cc6a2b4394018b5cd4aefa6898ad9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "82cf3f7658e9401bb625b1995f95104a": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_ea2ad544a3084cc7a2285fd6ce16aec4" + } + }, + "835755c0f972446a8701492b4c0b1e27": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_6caea2fab7cd49129c759efbe081eba1", + "IPY_MODEL_558010d07d914b5aa82ffafd36ca8350" + ], + "layout": "IPY_MODEL_4a3eb8e856844f78beb43c0f6b1539b9" + } + }, + "843e1778ae984d70906529844e810968": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "85c04177397c402f8d72fb956cf47eb7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "86d52c205a5844c3a4aef8af38b5148b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "87ffbcafd0024ab29f6f832a93651349": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "88b75b8be6734912b7bda3750750f6b9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "second", + "index": 0, + "layout": "IPY_MODEL_be985ee1e03a43f4a2e52ff4a015baf6", + "style": "IPY_MODEL_894d069515cf4c7e9271dafd9e5afb1a" + } + }, + "890ebeb79f474ab48011e721d06b93a6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "894d069515cf4c7e9271dafd9e5afb1a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8951fbb8828c461a87ccec8bd2c34c6c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "897bc201def445cba73fff63d6d5a8f4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8ad07def4412411da98eaaefa2cb30ad": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8b260fc3f2cb4f709147449baff03e14": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "ALL (5481)", + "us.ibm.com (2527 depls)", + "ibm.com (120 depls)", + "gmail.com (113 depls)", + "redhat.com (68 depls)", + "cn.ibm.com (50 depls)", + "hpe.com (48 depls)", + "uk.ibm.com (42 depls)", + "in.ibm.com (39 depls)", + "fr.ibm.com (30 depls)", + "ie.ibm.com (30 depls)", + "de.ibm.com (23 depls)", + "jp.ibm.com (20 depls)", + "hcl.com (17 depls)", + "ca.ibm.com (16 depls)", + "secureworks.com (16 depls)", + "accenture.com (15 depls)", + "capgroup.com (13 depls)", + "intel.com (13 depls)", + "dell.com (13 depls)", + "prophetstor.com (13 depls)", + "nokia.com (12 depls)", + "cloudera.com (12 depls)", + "twistlock.com (12 depls)", + "cisco.com (11 depls)", + "hotmail.com (11 depls)", + "br.ibm.com (11 depls)", + "o2its.cz (11 depls)", + "bell.ca (10 depls)", + "qq.com (10 depls)", + "atos.net (10 depls)", + "brreg.no (9 depls)", + "tractorsupply.com (9 depls)", + "delta.com (9 depls)", + "landregistry.gov.uk (9 depls)", + "anthem.com (9 depls)", + "pl.ibm.com (9 depls)", + "il.ibm.com (9 depls)", + "dl.jp.fujitsu.com (9 depls)", + "worldpay.com (8 depls)", + "santander.com.ar (8 depls)", + "sas.com (8 depls)", + "cern.ch (8 depls)", + "ford.com (8 depls)", + "sparebank1.no (8 depls)", + "ukcloud.com (8 depls)", + "t-systems.com (8 depls)", + "ticket.noris.net (8 depls)", + "f5.com (8 depls)", + "discover.com (8 depls)", + "tr.ibm.com (7 depls)", + "crossvale.com (7 depls)", + "mon-tier.com (7 depls)", + "rbc.com (7 depls)", + "jndata.dk (7 depls)", + "microsoft.com (7 depls)", + "netone.co.jp (7 depls)", + "regions.com (7 depls)", + "telefonica.com (7 depls)", + "citizensbank.com (7 depls)", + "soprasteria.com (6 depls)", + "nec.com (6 depls)", + "elkarlan.onmicrosoft.com (6 depls)", + "linux.vnet.ibm.com (6 depls)", + "tigera.io (6 depls)", + "trustmarkbenefits.com (6 depls)", + "cscinfo.com (6 depls)", + "deutsche-boerse.com (6 depls)", + "capgemini.com (6 depls)", + "cz.ibm.com (6 depls)", + "es.ibm.com (6 depls)", + "hitachi.com (6 depls)", + "keylane.com (6 depls)", + "axa.com (6 depls)", + "orange.com (6 depls)", + "etisalat.ae (5 depls)", + "qct.io (5 depls)", + "microfocus.com (5 depls)", + "tk.de (5 depls)", + "debeka.de (5 depls)", + "consol.de (5 depls)", + "dynatrace.com (5 depls)", + "dxc.com (5 depls)", + "nl.ibm.com (5 depls)", + "nectechnologies.in (5 depls)", + "ctc-g.co.jp (5 depls)", + "arbetsformedlingen.se (5 depls)", + "ascendcorp.com (5 depls)", + "rct.co.il (5 depls)", + "ais.co.th (5 depls)", + "cigna.com (5 depls)", + "f-i.de (5 depls)", + "plus.pl (5 depls)", + "k8s.jp.nec.com (5 depls)", + "wipro.com (5 depls)", + "it.ibm.com (5 depls)", + "vmware.com (5 depls)", + "sbb.ch (5 depls)", + "alaskaair.com (5 depls)", + "lmco.com (5 depls)", + "lenovo.com (5 depls)", + "au1.ibm.com (5 depls)", + "tipsport.cz (4 depls)", + "volkswagen.de (4 depls)", + "ao.uscourts.gov (4 depls)", + "laposte.fr (4 depls)", + "bom.gov.au (4 depls)", + "elcorteingles.es (4 depls)", + "sg.ibm.com (4 depls)", + "ericsson.com (4 depls)", + "anz.com (4 depls)", + "blood.ca (4 depls)", + "meteorcomm.com (4 depls)", + "za.ibm.com (4 depls)", + "amdocs.com (4 depls)", + "enterprisedb.com (4 depls)", + "wuerth-it.com (4 depls)", + "bitmarck.de (4 depls)", + "kocsistem.com.tr (4 depls)", + "thy.com (4 depls)", + "achmea.nl (4 depls)", + "bankmandiri.co.id (4 depls)", + "asseco.pl (4 depls)", + "kolon.com (4 depls)", + "nationwide.co.uk (4 depls)", + "vodafone.com (4 depls)", + "solarflare.com (4 depls)", + "ltkalmar.se (4 depls)", + "mskcc.org (4 depls)", + "lsd.co.za (4 depls)", + "att.com (4 depls)", + "corp.vodafone.es (4 depls)", + "techdata.com (4 depls)", + "msccruises.com (4 depls)", + "crif.com (4 depls)", + "sap.com (4 depls)", + "cirb.brussels (4 depls)", + "omnitracs.com (4 depls)", + "nike.com (4 depls)", + "hydro.qc.ca (4 depls)", + "skatteetaten.no (4 depls)", + "opennaru.com (4 depls)", + "cslbehring.com (4 depls)", + "cucbc.com (4 depls)", + "experian.com (4 depls)", + "saq.qc.ca (4 depls)", + "transport.nsw.gov.au (4 depls)", + "standardbank.co.za (4 depls)", + "honeywell.com (4 depls)", + "garantibbva.com.tr (4 depls)", + "adcubum.com (4 depls)", + "canada.ca (4 depls)", + "teco.com.ar (4 depls)", + "videotron.com (4 depls)", + "cyberark.com (4 depls)", + "mitre.org (3 depls)", + "aricent.com (3 depls)", + "minsait.com (3 depls)", + "mtb.com (3 depls)", + "mii.co.id (3 depls)", + "accenturefederal.com (3 depls)", + "pentalink.co.kr (3 depls)", + "gm.com (3 depls)", + "sk.com (3 depls)", + "sdx.com (3 depls)", + "seb.se (3 depls)", + "linuxpolska.pl (3 depls)", + "list.orange.com (3 depls)", + "kb.vlaanderen.be (3 depls)", + "kasten.io (3 depls)", + "adlere.fr (3 depls)", + "jp.fujitsu.com (3 depls)", + "jet.su (3 depls)", + "siemens.com (3 depls)", + "jazz.com.pk (3 depls)", + "itau.com.ar (3 depls)", + "it.mos.ru (3 depls)", + "ipi.ch (3 depls)", + "michigan.gov (3 depls)", + "apis-it.hr (3 depls)", + "inaservice.com.cn (3 depls)", + "iecisa.com (3 depls)", + "mwam.com (3 depls)", + "southernco.com (3 depls)", + "mail.ru (3 depls)", + "hu.ibm.com (3 depls)", + "hotpotatoes.nl (3 depls)", + "ru.ibm.com (3 depls)", + "helsinki.fi (3 depls)", + "mcb.mu (3 depls)", + "stjude.org (3 depls)", + "americansystems.com (3 depls)", + "macif.fr (3 depls)", + "netapp.com (3 depls)", + "regionorebrolan.se (3 depls)", + "optus.com.au (3 depls)", + "btpnsyariah.com (3 depls)", + "portoseguro.com.br (3 depls)", + "virginia.edu (3 depls)", + "portworx.com (3 depls)", + "cargo-partner.com (3 depls)", + "onespan.com (3 depls)", + "va.gov (3 depls)", + "cl.ibm.com (3 depls)", + "ocbcnisp.com (3 depls)", + "produban.com (3 depls)", + "nttdata.com (3 depls)", + "feratel.at (3 depls)", + "nri.co.jp (3 depls)", + "unicredit.eu (3 depls)", + "norsk-tipping.no (3 depls)", + "uk.mizuho-sc.com (3 depls)", + "criticaltechworks.com (3 depls)", + "btpn.com (3 depls)", + "brb.com.br (3 depls)", + "ua.ibm.com (3 depls)", + "bouyguestelecom.fr (3 depls)", + "pbz.hr (3 depls)", + "bandwidth.com (3 depls)", + "payback.net (3 depls)", + "zenuity.com (3 depls)", + "paloaltonetworks.com (3 depls)", + "outtherelabs.com (3 depls)", + "bcb.gov.br (3 depls)", + "pheaa.org (3 depls)", + "126.com (3 depls)", + "airbus.com (3 depls)", + "wwt.com (3 depls)", + "wwpdl.vnet.ibm.com (3 depls)", + "ornl.gov (3 depls)", + "origo.is (3 depls)", + "wellmark.com (3 depls)", + "163.com (3 depls)", + "bnz.co.nz (3 depls)", + "cronos.be (3 depls)", + "commvault.com (3 depls)", + "aetna.com (3 depls)", + "es.logicalis.com (3 depls)", + "dnrd.ae (3 depls)", + "tibco.com (3 depls)", + "schiphol.nl (3 depls)", + "dti.ulaval.ca (3 depls)", + "rbs-services.com (3 depls)", + "emirates.com (3 depls)", + "rechtspraak.nl (3 depls)", + "asia.ccb.com (3 depls)", + "deloitte.de (3 depls)", + "teb.com.tr (3 depls)", + "team.telstra.com (3 depls)", + "tds.fujitsu.com (3 depls)", + "tbc.sa (3 depls)", + "redbridge.se (3 depls)", + "redislabs.com (3 depls)", + "faa.gov (3 depls)", + "tine.no (3 depls)", + "netorek.fi (3 depls)", + "anfccorp.com (3 depls)", + "transfond.ro (3 depls)", + "de.bosch.com (3 depls)", + "csx.com (3 depls)", + "customs.bg (3 depls)", + "niandc.co.jp (3 depls)", + "trilio.io (3 depls)", + "travelers.com (3 depls)", + "amadeus.com (2 depls)", + "mainz.ibm.com (2 depls)", + "nrb.be (2 depls)", + "npo.nl (2 depls)", + "outlook.com (2 depls)", + "mont.com (2 depls)", + "liquidit.nz (2 depls)", + "ngerntidlor.com (2 depls)", + "nbch.com.ar (2 depls)", + "nist.gov (2 depls)", + "li9.com (2 depls)", + "pbtech.net.br (2 depls)", + "navitus.com (2 depls)", + "lists.psi.ch (2 depls)", + "materna.de (2 depls)", + "llnl.gov (2 depls)", + "alliander.com (2 depls)", + "nyu.edu (2 depls)", + "anadoluefes.com (2 depls)", + "oncor.com (2 depls)", + "aliyun.com (2 depls)", + "ontario.ca (2 depls)", + "openline.nl (2 depls)", + "neuvector.com (2 depls)", + "netzlink.com (2 depls)", + "meteoswiss.ch (2 depls)", + "live.com (2 depls)", + "maif.fr (2 depls)", + "opsta.co.th (2 depls)", + "andesdigital.com (2 depls)", + "lordabbett.com (2 depls)", + "orange.fr (2 depls)", + "loto-quebec.com (2 depls)", + "nvidia.com (2 depls)", + "original.com.br (2 depls)", + "alcatel-lucent.com (2 depls)", + "kemkes.go.id (2 depls)", + "lansforsakringar.se (2 depls)", + "cloudbees.com (2 depls)", + "cn.fujitsu.com (2 depls)", + "cognizant.com (2 depls)", + "comarch.pl (2 depls)", + "combis.hr (2 depls)", + "atradius.com (2 depls)", + "comp.com.pl (2 depls)", + "confluent.io (2 depls)", + "atpco.net (2 depls)", + "consorsbank.de (2 depls)", + "copergmps.it (2 depls)", + "covis.de (2 depls)", + "cra-arc.gc.ca (2 depls)", + "crediteurope.nl (2 depls)", + "crown.com (2 depls)", + "csaa.com (2 depls)", + "daa.ie (2 depls)", + "dbs.com (2 depls)", + "delijn.be (2 depls)", + "deloitte.com (2 depls)", + "dentisoft.com (2 depls)", + "det.nsw.edu.au (2 depls)", + "deutschepost.de (2 depls)", + "devoteam.com (2 depls)", + "diamanti.com (2 depls)", + "dontouch.ch (2 depls)", + "cloudwerkstatt.com (2 depls)", + "claro.com.ar (2 depls)", + "dxcas.com (2 depls)", + "chicos.com (2 depls)", + "bancamarch.es (2 depls)", + "bancocredicoop.coop (2 depls)", + "banval.sba.com.ar (2 depls)", + "barceloviajes.com (2 depls)", + "b1-systems.de (2 depls)", + "bcx.co.za (2 depls)", + "be.ibm.com (2 depls)", + "bechtle.com (2 depls)", + "axians.de (2 depls)", + "bldr.com (2 depls)", + "bls.ch (2 depls)", + "blum.com (2 depls)", + "boeing.com (2 depls)", + "bps-suisse.ch (2 depls)", + "brighthousefinancial.com (2 depls)", + "broadcom.com (2 depls)", + "bt.com (2 depls)", + "buenosaires.gob.ar (2 depls)", + "bv.com.br (2 depls)", + "c3.ai (2 depls)", + "avisbudget.com (2 depls)", + "casa-systems.com (2 depls)", + "catalysts.cc (2 depls)", + "cegeka.be (2 depls)", + "aurotechcorp.com (2 depls)", + "doosan.com (2 depls)", + "eaton.com (2 depls)", + "krash.be (2 depls)", + "aquasec.com (2 depls)", + "helvetia.ch (2 depls)", + "hk1.ibm.com (2 depls)", + "hma.honda.com (2 depls)", + "hopitalvs.ch (2 depls)", + "i-t-m.com (2 depls)", + "ibermutua.es (2 depls)", + "icbc.com.ar (2 depls)", + "ikea.com (2 depls)", + "illumio.com (2 depls)", + "infinkon.de (2 depls)", + "infosys.com (2 depls)", + "ing.com (2 depls)", + "inspur.com (2 depls)", + "intertech.com.tr (2 depls)", + "intervalintl.com (2 depls)", + "intesasanpaolo.com (2 depls)", + "aoins.com (2 depls)", + "its4u.lu (2 depls)", + "jri-america.com (2 depls)", + "kapsch.net (2 depls)", + "kela.fi (2 depls)", + "kohls.com (2 depls)", + "konsalt.com.tr (2 depls)", + "korian.fr (2 depls)", + "kr.ibm.com (2 depls)", + "healthpartners.com (2 depls)", + "h-da.de (2 depls)", + "egcp.com (2 depls)", + "gu.se (2 depls)", + "elostech.cz (2 depls)", + "employers.com (2 depls)", + "endpointclosing.com (2 depls)", + "ergo-life.cn (2 depls)", + "exidelife.in (2 depls)", + "express-scripts.com (2 depls)", + "extraordy.com (2 depls)", + "extremedata.com.tw (2 depls)", + "ashghal.gov.qa (2 depls)", + "fintechgroup.com (2 depls)", + "firstrepublic.com (2 depls)", + "fitit.be (2 depls)", + "fnb.co.za (2 depls)", + "ars.de (2 depls)", + "fostermoore.com (2 depls)", + "gazprom-neft.ru (2 depls)", + "arctiq.ca (2 depls)", + "gen-e.com (2 depls)", + "genusllc.com (2 depls)", + "arburg.com (2 depls)", + "pe.ibm.com (2 depls)", + "global.ntt (2 depls)", + "globalrelay.net (2 depls)", + "grainger.com (2 depls)", + "grupo-pinero.com (2 depls)", + "gire.com (2 depls)", + "anadolusigorta.com.tr (2 depls)", + "schneider.com (2 depls)", + "utk.edu (2 depls)", + "slb.com (2 depls)", + "aditinet.it (2 depls)", + "rohde-schwarz.com (2 depls)", + "us.imshealth.com (2 depls)", + "ro.ibm.com (2 depls)", + "tetrate.io (2 depls)", + "tep.com (2 depls)", + "usda.gov (2 depls)", + "rise-world.com (2 depls)", + "softec.sk (2 depls)", + "telus.com (2 depls)", + "adfinis-sygroup.ch (2 depls)", + "3-s.at (2 depls)", + "valensas.com (2 depls)", + "thehartford.com (2 depls)", + "teliacompany.com (2 depls)", + "telenetgroup.be (2 depls)", + "telekom.de (2 depls)", + "sos.eu (2 depls)", + "verizonmedia.com (2 depls)", + "spark.co.nz (2 depls)", + "spectrumhealth.org (2 depls)", + "vineti.com (2 depls)", + "visana.ch (2 depls)", + "purestorage.com (2 depls)", + "systex.com.hk (2 depls)", + "syspower.com.tw (2 depls)", + "sysage.com.tw (2 depls)", + "ups.com (2 depls)", + "rs.ibm.com (2 depls)", + "progressive.com (2 depls)", + "sbm.com.sa (2 depls)", + "trace3.com (2 depls)", + "sekom.com.tr (2 depls)", + "turbonomic.com (2 depls)", + "turkcell.com.tr (2 depls)", + "tohmatsu.co.jp (2 depls)", + "schufa.de (2 depls)", + "scholastic.com (2 depls)", + "senduvu.com (2 depls)", + "tw.ibm.com (2 depls)", + "scanplus.de (2 depls)", + "aareon.com (2 depls)", + "tmrnd.com.my (2 depls)", + "tmbbank.com (2 depls)", + "sanofi-aventis.com (2 depls)", + "rt.ru (2 depls)", + "uk.fujitsu.com (2 depls)", + "si.ibm.com (2 depls)", + "abanca.com (2 depls)", + "samsung.com (2 depls)", + "ulx.hu (2 depls)", + "advance-auto.com (2 depls)", + "umb.ch (2 depls)", + "safaricom.co.ke (2 depls)", + "sabancidx.com (2 depls)", + "tinubu.com (2 depls)", + "s-itsolutions.at (2 depls)", + "tiaa-cref.org (2 depls)", + "rtlabs.ru (2 depls)", + "vsp.com (2 depls)", + "reisebank.de (2 depls)", + "aexp.com (2 depls)", + "stoiximan.gr (2 depls)", + "startx.fr (2 depls)", + "stat.gouv.qc.ca (2 depls)", + "syntegrity.com.au (2 depls)", + "syncsort.com (2 depls)", + "swissmedical.com.ar (2 depls)", + "acp.at (2 depls)", + "pixar.com (2 depls)", + "piros.be (2 depls)", + "14west.us (2 depls)", + "starhub.com (2 depls)", + "yahoo.com (2 depls)", + "swedbank.se (2 depls)", + "pfandbriefbank.com (2 depls)", + "swdeca.com (2 depls)", + "pf.gov.br (2 depls)", + "yipintsoi.com (2 depls)", + "yoox.com (2 depls)", + "sv-informatik.de (2 depls)", + "webcomm.com.tw (2 depls)", + "ww-informatik.de (2 depls)", + "syr.edu (2 depls)", + "example.com (1 depls)", + "extrasys.it (1 depls)", + "gasnatural.com (1 depls)", + "taos.com (1 depls)", + "dhl.com (1 depls)", + "swifttrans.com (1 depls)", + "dhconsulting.ch (1 depls)", + "dha.gov.ae (1 depls)", + "dewa.gov.ae (1 depls)", + "tjce.jus.br (1 depls)", + "gblsys.com (1 depls)", + "t.ht.hr (1 depls)", + "gbmme.com (1 depls)", + "gd-ms.com (1 depls)", + "tjsys.co.jp (1 depls)", + "swisscom.com (1 depls)", + "dict.gov.ph (1 depls)", + "deutsche-factoring.de (1 depls)", + "ext.soprasteria.com (1 depls)", + "dipres.gob.cl (1 depls)", + "tiri.li (1 depls)", + "asset-metrix.com (1 depls)", + "gantek.com (1 depls)", + "dlt.com (1 depls)", + "tier2consulting.com (1 depls)", + "ext.ec.europa.eu (1 depls)", + "docupace.com (1 depls)", + "dollargeneral.com (1 depls)", + "thinksis.com (1 depls)", + "dpf.jp.nec.com (1 depls)", + "gaminginnovationgroup.com (1 depls)", + "gabrielli.info (1 depls)", + "deutschebahn.com (1 depls)", + "tkhinnovations.com (1 depls)", + "ewerk.com (1 depls)", + "tre.se (1 depls)", + "archmi.com (1 depls)", + "defacto.com.tr (1 depls)", + "decsoft.com.pl (1 depls)", + "tpg.ch (1 depls)", + "aceinfosolutions.com (1 depls)", + "supcom.tn (1 depls)", + "ddti.net (1 depls)", + "exxonmobil.com (1 depls)", + "triliodata.com (1 depls)", + "datto.com (1 depls)", + "daticloud.com (1 depls)", + "datatrend.com (1 depls)", + "datastar.com.ar (1 depls)", + "at.seg-social.es (1 depls)", + "geodis.com (1 depls)", + "a1.bg (1 depls)", + "sys.aok.de (1 depls)", + "fcagroup.com (1 depls)", + "fabasoft.com (1 depls)", + "dellead.com (1 depls)", + "dellteam.com (1 depls)", + "arcor.de (1 depls)", + "deloitte.co.nz (1 depls)", + "sysdig.com (1 depls)", + "tnb.com.my (1 depls)", + "generali.com (1 depls)", + "deloitte.com.au (1 depls)", + "asw.com.hk (1 depls)", + "sva.de (1 depls)", + "fi.ibm.com (1 depls)", + "asfinag.at (1 depls)", + "dspace.de (1 depls)", + "dsv.com (1 depls)", + "g-able.com (1 depls)", + "firstdata.com (1 depls)", + "telecomitalia.it (1 depls)", + "erieinsurance.com (1 depls)", + "fisglobal.com (1 depls)", + "tcmb.gov.tr (1 depls)", + "ereinsure.com (1 depls)", + "epiontis.com (1 depls)", + "daocloud.io (1 depls)", + "thinkahead.com (1 depls)", + "enonic.com (1 depls)", + "exisoft.com.ar (1 depls)", + "fixedmea.com (1 depls)", + "enfogroup.com (1 depls)", + "enea.com (1 depls)", + "flhealth.gov (1 depls)", + "academia-online.org (1 depls)", + "escenic.com (1 depls)", + "esri.com (1 depls)", + "exatetechnology.com (1 depls)", + "estafet.com (1 depls)", + "asl.com.hk (1 depls)", + "etechsystem.co.kr (1 depls)", + "etele.com.ua (1 depls)", + "techmahindra.com (1 depls)", + "fiserv.com (1 depls)", + "eurecom.fr (1 depls)", + "eurobank.gr (1 depls)", + "eurobet.it (1 depls)", + "firstmarblehead.com (1 depls)", + "everbank.com (1 depls)", + "acceleris.ch (1 depls)", + "syone.com (1 depls)", + "teliacygate.fi (1 depls)", + "telkomsel.co.id (1 depls)", + "flowfactor.be (1 depls)", + "fronius.com (1 depls)", + "abaxo.co.uk (1 depls)", + "asseco-see.rs (1 depls)", + "dvbern.ch (1 depls)", + "arrow.com (1 depls)", + "futuregen.co.kr (1 depls)", + "thalesgroup.com (1 depls)", + "fujitsu.com (1 depls)", + "abinitio.com (1 depls)", + "fedins.com (1 depls)", + "eagleinvsys.com (1 depls)", + "asseco-see.com (1 depls)", + "teuto.net (1 depls)", + "ebox.ca (1 depls)", + "ec.europa.eu (1 depls)", + "ec.ibm.com (1 depls)", + "synopsys.com (1 depls)", + "free.fr (1 depls)", + "edgeverve.com (1 depls)", + "efinance.com.eg (1 depls)", + "fr.scc.com (1 depls)", + "tasgroup.it (1 depls)", + "eigentech.com (1 depls)", + "aspenmesh.io (1 depls)", + "teranet.ca (1 depls)", + "swisstph.ch (1 depls)", + "sympany.ch (1 depls)", + "tempest.sk (1 depls)", + "email.unc.edu (1 depls)", + "syncrasy.io (1 depls)", + "tav.aero (1 depls)", + "darkmatter.ae (1 depls)", + "pecunpay.es (1 depls)", + "danskecommodities.com (1 depls)", + "varmeego.com (1 depls)", + "vlinkinfo.com (1 depls)", + "bu.edu (1 depls)", + "btrl.ro (1 depls)", + "vn.ibm.com (1 depls)", + "vodafoneziggo.com (1 depls)", + "btp.com.br (1 depls)", + "avl.com (1 depls)", + "volvocars.com (1 depls)", + "vp.dk (1 depls)", + "vps.no (1 depls)", + "vrtx.com (1 depls)", + "vshn.ch (1 depls)", + "vtb.ru (1 depls)", + "bps.gub.uy (1 depls)", + "vub.sk (1 depls)", + "bpba.com.ar (1 depls)", + "bpa.bund.de (1 depls)", + "vw.com (1 depls)", + "wanadoo.fr (1 depls)", + "vkb.de (1 depls)", + "visma.com (1 depls)", + "c3iot.com (1 depls)", + "vfunction.com (1 depls)", + "2nwsl.jp.nec.com (1 depls)", + "cepsa.com (1 depls)", + "verifone.com (1 depls)", + "cedrusco.com (1 depls)", + "ccc.jp.nec.com (1 depls)", + "cbc-companies.com (1 depls)", + "verizon.com (1 depls)", + "catalogicsoftware.com (1 depls)", + "vhi.ie (1 depls)", + "cablelabs.com (1 depls)", + "viessmann.com (1 depls)", + "avaloq.com (1 depls)", + "campbell.com (1 depls)", + "camelland.com (1 depls)", + "cam-sys.net (1 depls)", + "caleres.com (1 depls)", + "caffeine.tv (1 depls)", + "cablevision.com.ar (1 depls)", + "axcelinno.io (1 depls)", + "bokf.com (1 depls)", + "weave.works (1 depls)", + "bcbsma.com (1 depls)", + "berlin-creative.de (1 depls)", + "benefit-one.co.jp (1 depls)", + "bendigobank.com.au (1 depls)", + "bellintegrator.com (1 depls)", + "wx.jp.nec.com (1 depls)", + "beans.com.my (1 depls)", + "yandex.com (1 depls)", + "bcbssc.com (1 depls)", + "bcbsfl.com (1 depls)", + "bestbuy.com (1 depls)", + "yandex.ru (1 depls)", + "bca.co.id (1 depls)", + "baw.de (1 depls)", + "zero2ai.io (1 depls)", + "zerto.com (1 depls)", + "zettaset.com (1 depls)", + "zh.nes.jp.nec.com (1 depls)", + "zivra.com (1 depls)", + "bertelsmann.de (1 depls)", + "bet365.com (1 depls)", + "bnsf.com (1 depls)", + "wellcare.com (1 depls)", + "axians.com (1 depls)", + "bmw.de (1 depls)", + "bmo.com (1 depls)", + "bmc.com (1 depls)", + "websam.jp.nec.com (1 depls)", + "bluestembrands.com (1 depls)", + "blueair.aero (1 depls)", + "bls.gov (1 depls)", + "westmonroepartners.com (1 depls)", + "bevalex.by (1 depls)", + "bliex.com (1 depls)", + "wimionline.be (1 depls)", + "worldline.com (1 depls)", + "bl.ch (1 depls)", + "bkfs.com (1 depls)", + "bitbull.ch (1 depls)", + "birevim.com.tr (1 depls)", + "bhp.com (1 depls)", + "cetelem.com.br (1 depls)", + "cfh.sk (1 depls)", + "danskebank.lt (1 depls)", + "cgi.com (1 depls)", + "uftwf.org (1 depls)", + "ugent.be (1 depls)", + "7p-group.com (1 depls)", + "atix.de (1 depls)", + "uipath.com (1 depls)", + "creditone.com (1 depls)", + "uk.pgds.com (1 depls)", + "cpcc.edu (1 depls)", + "ulb.ac.be (1 depls)", + "couchbase.com (1 depls)", + "ultra.com.br (1 depls)", + "corning.com (1 depls)", + "copel.com (1 depls)", + "contracted.pmi.com (1 depls)", + "unam.mx (1 depls)", + "unbelievable-machine.com (1 depls)", + "conservador.cl (1 depls)", + "conocophillips.com (1 depls)", + "unisystems.gr (1 depls)", + "u-s-p.ch (1 depls)", + "croz.net (1 depls)", + "crunchydata.com (1 depls)", + "tunisietelecom.tn (1 depls)", + "tsisyk.com (1 depls)", + "tubitak.gov.tr (1 depls)", + "cyccustomshop.com (1 depls)", + "ativainvestimentos.com.br (1 depls)", + "tudelft.nl (1 depls)", + "tugo.com (1 depls)", + "cusa.canon.com (1 depls)", + "cumulus-systems.com (1 depls)", + "cu.co.th (1 depls)", + "crv4all.com (1 depls)", + "ctc-g.com.sg (1 depls)", + "ctc-g.com.my (1 depls)", + "cspq.gouv.qc.ca (1 depls)", + "cspire.com (1 depls)", + "tutanota.com (1 depls)", + "csiltd.co.uk (1 depls)", + "gizasystems.com (1 depls)", + "tuwien.ac.at (1 depls)", + "comtegra.pl (1 depls)", + "computaris.com (1 depls)", + "computacenter.com (1 depls)", + "usfalcon.com (1 depls)", + "cloudnesil.com (1 depls)", + "cloudgensys.com (1 depls)", + "cloudfitsoftware.com (1 depls)", + "usaa.com (1 depls)", + "cloud9ers.com (1 depls)", + "cloud-bigdata.net (1 depls)", + "clearstream.com (1 depls)", + "clearlake.ibm.com (1 depls)", + "clarite.pl (1 depls)", + "cmbchina.com (1 depls)", + "uspto.gov (1 depls)", + "citictel-cpc.com (1 depls)", + "citec.com.au (1 depls)", + "vandergiesen.eu (1 depls)", + "cibc.com (1 depls)", + "chrissandrini.ch (1 depls)", + "varegos.com (1 depls)", + "chem.byu.edu (1 depls)", + "us.logicalis.com (1 depls)", + "audemarspiguet.com (1 depls)", + "compro.com.tr (1 depls)", + "comas.co.kr (1 depls)", + "compatibl.com (1 depls)", + "united.com (1 depls)", + "univie.ac.at (1 depls)", + "upc.ch (1 depls)", + "commerzbank.com (1 depls)", + "upenn.edu (1 depls)", + "comcast.net (1 depls)", + "upmc.edu (1 depls)", + "comafi.com.ar (1 depls)", + "us.af.mil (1 depls)", + "coinscrap.com (1 depls)", + "cohesity.com (1 depls)", + "ural.rt.ru (1 depls)", + "cognitivescale.com (1 depls)", + "cognitionfoundry.com (1 depls)", + "urr.se (1 depls)", + "cnsys.bg (1 depls)", + "cnr.it (1 depls)", + "sumerge.com (1 depls)", + "gravis.bg (1 depls)", + "globacap.com (1 depls)", + "mprj.mp.br (1 depls)", + "moodys.com (1 depls)", + "advent.com (1 depls)", + "monex.com.mx (1 depls)", + "rku-it.de (1 depls)", + "rnp.br (1 depls)", + "mintic.gov.co (1 depls)", + "mindgate.in (1 depls)", + "robak.at (1 depls)", + "rockplace.co.kr (1 depls)", + "rogers.com (1 depls)", + "mhi.co.jp (1 depls)", + "mfec.co.th (1 depls)", + "rosbank.ru (1 depls)", + "metlife.com (1 depls)", + "royalcyber.com (1 depls)", + "rpa.gov.uk (1 depls)", + "metanet.co.kr (1 depls)", + "meridianit.co.uk (1 depls)", + "mendix.com (1 depls)", + "morganstanley.com (1 depls)", + "msg.group (1 depls)", + "alpha.gr (1 depls)", + "rhb.ch (1 depls)", + "ndb.bg (1 depls)", + "ncr.com (1 depls)", + "red8.com (1 depls)", + "nbs.sk (1 depls)", + "redbeemedia.com (1 depls)", + "reged.com (1 depls)", + "naver.com (1 depls)", + "regionh.dk (1 depls)", + "n11.com (1 depls)", + "mx1.ibm.com (1 depls)", + "mutua.es (1 depls)", + "musala.com (1 depls)", + "reply.it (1 depls)", + "amdocs.onmicrosoft.com (1 depls)", + "multapplied.net (1 depls)", + "muf.co.id (1 depls)", + "mtel.ba (1 depls)", + "resbank.co.za (1 depls)", + "msn.com (1 depls)", + "medsolv.com (1 depls)", + "mednet.ucla.edu (1 depls)", + "ampsight.com (1 depls)", + "medirect.com.mt (1 depls)", + "loblaw.ca (1 depls)", + "sancorsalud.com.ar (1 depls)", + "sanlam.co.za (1 depls)", + "sayers.com (1 depls)", + "sb.cl (1 depls)", + "list.soliton.co.jp (1 depls)", + "sberbank.hr (1 depls)", + "adp.com (1 depls)", + "scalefree.co.jp (1 depls)", + "anexia-it.com (1 depls)", + "lightning-it.de (1 depls)", + "libertyglobal.com (1 depls)", + "lgcns.com (1 depls)", + "lfst.bayern.de (1 depls)", + "admiralty.io (1 depls)", + "leep.app (1 depls)", + "learnconsult.com (1 depls)", + "sulamerica.com.br (1 depls)", + "lafargeholcim.com (1 depls)", + "lombardodier.com (1 depls)", + "losheroes.cl (1 depls)", + "samoscyber.com (1 depls)", + "mainstream.net (1 depls)", + "mduresources.com (1 depls)", + "mdhs.ms.gov (1 depls)", + "mayadata.io (1 depls)", + "marlow.com.cy (1 depls)", + "markiiisys.com (1 depls)", + "marcelbrouwers.nl (1 depls)", + "mantech.com (1 depls)", + "mandatumlife.fi (1 depls)", + "mail.schwarz (1 depls)", + "lowes.com (1 depls)", + "s-und-n.de (1 depls)", + "mail.mil (1 depls)", + "sa.ibm.com (1 depls)", + "mahkamahagung.go.id (1 depls)", + "maana.io (1 depls)", + "ma.ibm.com (1 depls)", + "lso.ca (1 depls)", + "baloise.ch (1 depls)", + "ndgit.com (1 depls)", + "realglobe.jp (1 depls)", + "labcorp.com (1 depls)", + "pivotal.io (1 depls)", + "plusserver.com (1 depls)", + "agenda.si (1 depls)", + "oraex.com.br (1 depls)", + "pmi.com (1 depls)", + "polyu.edu.hk (1 depls)", + "opitz-consulting.com (1 depls)", + "popso.it (1 depls)", + "portshift.io (1 depls)", + "posteitaliane.it (1 depls)", + "openadvice.de (1 depls)", + "ppb.com (1 depls)", + "pr.sebrae.com.br (1 depls)", + "agd.gov.au (1 depls)", + "principledtechnologies.com (1 depls)", + "ominsure.co.za (1 depls)", + "omantel.om (1 depls)", + "ol.ge (1 depls)", + "oksystem.cz (1 depls)", + "ok.is (1 depls)", + "planeta.es (1 depls)", + "osec.pl (1 depls)", + "raytheon.com (1 depls)", + "oss-group.co.nz (1 depls)", + "pccth.com (1 depls)", + "pc-daiwabo.co.jp (1 depls)", + "perceptilabs.com (1 depls)", + "percona.com (1 depls)", + "pb.com (1 depls)", + "paytrail.com (1 depls)", + "agirc-arrco.fr (1 depls)", + "paycore.com (1 depls)", + "pasam.com (1 depls)", + "paradigmadigital.com (1 depls)", + "par-tec.it (1 depls)", + "pagero.com (1 depls)", + "agiledigital.com.au (1 depls)", + "outlook.fr (1 depls)", + "physter.com (1 depls)", + "outlook.at (1 depls)", + "ahgora.com.br (1 depls)", + "otago.ac.nz (1 depls)", + "ot.olympus.co.jp (1 depls)", + "odsoftwarehouse.com (1 depls)", + "ocsnet.it (1 depls)", + "priorbank.by (1 depls)", + "ocbc.com (1 depls)", + "nisa.com (1 depls)", + "pvgroup.be (1 depls)", + "pwc.com (1 depls)", + "qss.ba (1 depls)", + "allbluesolutions.com (1 depls)", + "quantech.com.lb (1 depls)", + "rabobank.nl (1 depls)", + "networld.co.jp (1 depls)", + "ae.ibm.com (1 depls)", + "netscape.net (1 depls)", + "nets.eu (1 depls)", + "radware.com (1 depls)", + "raiffeisengroup.ba (1 depls)", + "netnumber.com (1 depls)", + "netdriven.de (1 depls)", + "rakuten.com (1 depls)", + "nestle.com (1 depls)", + "nesic.com (1 depls)", + "neoflex.ru (1 depls)", + "nissho-ele.co.jp (1 depls)", + "puma.com (1 depls)", + "psba.qld.gov.au (1 depls)", + "ntst.com (1 depls)", + "oa.mo.gov (1 depls)", + "proalpha.de (1 depls)", + "prodevans.com (1 depls)", + "proedge.hk (1 depls)", + "profi-ag.de (1 depls)", + "nuuptech.com (1 depls)", + "nuuday.dk (1 depls)", + "proficom.de (1 depls)", + "alerant.hu (1 depls)", + "nlmk.com (1 depls)", + "proholding.com.pl (1 depls)", + "novascotia.ca (1 depls)", + "novadoc.nl (1 depls)", + "northstar.co.kr (1 depls)", + "prosis.de (1 depls)", + "protonmail.com (1 depls)", + "nogui.org (1 depls)", + "nnit.com (1 depls)", + "lacaja.com.ar (1 depls)", + "schultz.net (1 depls)", + "labanquepostale.fr (1 depls)", + "spaceflightindustries.com (1 depls)", + "ibagroup.eu (1 depls)", + "i-s.com.pl (1 depls)", + "i-3.co.id (1 depls)", + "spi.de (1 depls)", + "husbanken.no (1 depls)", + "hughes.com (1 depls)", + "hu.nl (1 depls)", + "spirent.com (1 depls)", + "hr.ibm.com (1 depls)", + "sprint.com (1 depls)", + "hpcg.com.mx (1 depls)", + "hpbsc.ch (1 depls)", + "src.si (1 depls)", + "hotmail.de (1 depls)", + "sscinc.com (1 depls)", + "hoplasoftware.com (1 depls)", + "stackrox.com (1 depls)", + "stakater.com (1 depls)", + "homecenter.co (1 depls)", + "apptecinc.com (1 depls)", + "ibs.bg (1 depls)", + "inhouse.wko.at (1 depls)", + "ibtech.com.tr (1 depls)", + "informatika.si (1 depls)", + "kw.zain.com (1 depls)", + "softwareone.com (1 depls)", + "infineon.com (1 depls)", + "adeo.com (1 depls)", + "solem.cl (1 depls)", + "imba.oeaw.ac.at (1 depls)", + "solute.us (1 depls)", + "sopragroup.com (1 depls)", + "sorint.it (1 depls)", + "iisl.com (1 depls)", + "ihealthtechnologies.com (1 depls)", + "igt.com (1 depls)", + "sorintlab.com (1 depls)", + "id.ibm.com (1 depls)", + "icu-it.nl (1 depls)", + "icteam.it (1 depls)", + "icloud.com (1 depls)", + "south.rt.ru (1 depls)", + "holmes.nl (1 depls)", + "holcim.com (1 depls)", + "hna.honda.com (1 depls)", + "stantec.com (1 depls)", + "guavus.com (1 depls)", + "stm.info (1 depls)", + "gruppohera.it (1 depls)", + "grupodifare.com (1 depls)", + "groupeonepoint.com (1 depls)", + "greentube.com (1 depls)", + "pccw.com (1 depls)", + "graat.co.jp (1 depls)", + "gpa-group.it (1 depls)", + "gp.biglobe.co.jp (1 depls)", + "gov.rs (1 depls)", + "gov.nt.ca (1 depls)", + "aramco.com (1 depls)", + "google.com (1 depls)", + "goodmit.co.kr (1 depls)", + "goias.gov.br (1 depls)", + "gmv.com (1 depls)", + "stud.hslu.ch (1 depls)", + "student.kdg.be (1 depls)", + "adaclare.com (1 depls)", + "halkbank.com.tr (1 depls)", + "handelsbanken.se (1 depls)", + "state.ca.gov (1 depls)", + "aprr.fr (1 depls)", + "staples.ca (1 depls)", + "apx.fr (1 depls)", + "hizliyedek.com (1 depls)", + "hitachivantara.com (1 depls)", + "hetg.ie (1 depls)", + "here.com (1 depls)", + "hel.fi (1 depls)", + "healthnow.org (1 depls)", + "hashicorp.com (1 depls)", + "hds.com (1 depls)", + "hco.ntt.co.jp (1 depls)", + "stcpay.com.sa (1 depls)", + "steelbridgelabs.com (1 depls)", + "hbl.ch (1 depls)", + "hazelcast.com (1 depls)", + "havenhealthcare.com (1 depls)", + "ar.ibm.com (1 depls)", + "infracode.ru (1 depls)", + "infinkon.eu (1 depls)", + "injeinc.co.kr (1 depls)", + "siemens-healthineers.com (1 depls)", + "keytradebank.com (1 depls)", + "kennasecurity.com (1 depls)", + "zte.com.cn (1 depls)", + "seldon.io (1 depls)", + "kbtg.tech (1 depls)", + "kbc.be (1 depls)", + "semperti.com (1 depls)", + "kb.dk (1 depls)", + "sentryds.com (1 depls)", + "service-rz.de (1 depls)", + "kaloom.com (1 depls)", + "kaizentechpartners.com (1 depls)", + "service.com.br (1 depls)", + "juntadeandalucia.es (1 depls)", + "juniper.net (1 depls)", + "jsa-group.ru (1 depls)", + "ses.com (1 depls)", + "shi-g.com (1 depls)", + "sibintek.ru (1 depls)", + "keyvatech.com (1 depls)", + "kgi.com (1 depls)", + "kibs.com.mk (1 depls)", + "securustechnologies.com (1 depls)", + "kuehne-nagel.com (1 depls)", + "ktbcs.co.th (1 depls)", + "scigames.at (1 depls)", + "sct.gouv.qc.ca (1 depls)", + "seat.es (1 depls)", + "kp.org (1 depls)", + "kove.net (1 depls)", + "seccom.ch (1 depls)", + "komplex-it.dk (1 depls)", + "kiratech.it (1 depls)", + "sefin.fortaleza.ce.gov.br (1 depls)", + "kolodok.info (1 depls)", + "kolabsys.com (1 depls)", + "sefin.gob.hn (1 depls)", + "segrocers.com (1 depls)", + "kobelcosys.co.jp (1 depls)", + "ko2.it (1 depls)", + "knowis.de (1 depls)", + "jeskell.com (1 depls)", + "shlitz.com (1 depls)", + "silich.de (1 depls)", + "it-fabrik.at (1 depls)", + "iridium-russia.com (1 depls)", + "janwiebe.eu (1 depls)", + "apendo.se (1 depls)", + "slac.stanford.edu (1 depls)", + "invesco.com (1 depls)", + "intility.no (1 depls)", + "sll.se (1 depls)", + "interkassa.com (1 depls)", + "interior.es (1 depls)", + "intercom.com.eg (1 depls)", + "intellilink.co.jp (1 depls)", + "inteliquent.com (1 depls)", + "snt.ro (1 depls)", + "soaint.com (1 depls)", + "instana.com (1 depls)", + "socgen.com (1 depls)", + "inps.it (1 depls)", + "innogy.com (1 depls)", + "innogrid.com (1 depls)", + "isd.jp.nec.com (1 depls)", + "ipo.gov.uk (1 depls)", + "it.ecommpay.com (1 depls)", + "itcenter.com.pt (1 depls)", + "iworks.kr (1 depls)", + "simlogics.net (1 depls)", + "siriuscom.com (1 depls)", + "simtech.nl (1 depls)", + "itergo.com (1 depls)", + "itchannel.asia (1 depls)", + "itl.com.ar (1 depls)", + "baloise.lu (1 depls)", + "apap.com.do (1 depls)", + "singtel.com (1 depls)", + "italgas.it (1 depls)", + "sina.cn (1 depls)", + "apoio.fr (0 depls)", + "amazon.com (0 depls)", + "archinsurance.com (0 depls)", + "acertcon.com.br (0 depls)", + "appdynamics.com (0 depls)", + "aa.jp.fujitsu.com (0 depls)", + "afbnet.it (0 depls)", + "anaconda.com (0 depls)", + "audi.de (0 depls)", + "aselsan.com.tr (0 depls)", + "407etr.com (0 depls)", + "assentis.com (0 depls)", + "21vianet.com (0 depls)", + "ztech.io (0 depls)", + "basefarm.com (0 depls)", + "opentext.com (0 depls)", + "saic.com (0 depls)", + "riverbed.com (0 depls)", + "rackspace.com (0 depls)", + "puzzle.ch (0 depls)", + "programmer.net (0 depls)", + "profuturo.com.mx (0 depls)", + "prgx.com (0 depls)", + "pm.nttdata.co.jp (0 depls)", + "phe.gov.uk (0 depls)", + "paysafe.com (0 depls)", + "otpsrbija.rs (0 depls)", + "orpea.net (0 depls)", + "nxp.com (0 depls)", + "schindler.com (0 depls)", + "nttdocomo.com (0 depls)", + "ntsretail.com (0 depls)", + "nexign.com (0 depls)", + "newrelic.com (0 depls)", + "netscout.com (0 depls)", + "neareasttechnology.com (0 depls)", + "ncontr.com (0 depls)", + "ncl.com (0 depls)", + "multisoft.co.id (0 depls)", + "multiplan.com (0 depls)", + "metrodemedellin.gov.co (0 depls)", + "medius.si (0 depls)", + "scalait.com (0 depls)", + "shaun.io (0 depls)", + "matrix.co.il (0 depls)", + "thejay.net (0 depls)", + "xsyscemerlang.com (0 depls)", + "xc.jp.nec.com (0 depls)", + "websiteitalia.com (0 depls)", + "verizonwireless.com (0 depls)", + "vegas.com (0 depls)", + "ute.com.uy (0 depls)", + "unipoint.co.kr (0 depls)", + "uib.es (0 depls)", + "toyota.com.br (0 depls)", + "tn.gov (0 depls)", + "tmx.com (0 depls)", + "tjpa.jus.br (0 depls)", + "th.ibm.com (0 depls)", + "smanager.com.br (0 depls)", + "technet-asia.com (0 depls)", + "techlead.com.br (0 depls)", + "symbiont.io (0 depls)", + "suva.ch (0 depls)", + "supermicro.com (0 depls)", + "sttproductions.de (0 depls)", + "stonedoorgroup.com (0 depls)", + "stofa.dk (0 depls)", + "stena.com (0 depls)", + "ss.jrkyushu-g.co.jp (0 depls)", + "solace.com (0 depls)", + "softwareag.com (0 depls)", + "mazda.co.jp (0 depls)", + "loxon.eu (0 depls)", + "blackducksoftware.com (0 depls)", + "corp.sysco.com (0 depls)", + "evtcorp.com (0 depls)", + "et.mde.es (0 depls)", + "elastic.co (0 depls)", + "east.ntt.co.jp (0 depls)", + "duo.nl (0 depls)", + "dtcc.com (0 depls)", + "doc88.com.br (0 depls)", + "disney.com (0 depls)", + "delsud.com.ar (0 depls)", + "dataport.de (0 depls)", + "cybercom.com (0 depls)", + "cristie.se (0 depls)", + "conova.com (0 depls)", + "finat.pl (0 depls)", + "commscope.com (0 depls)", + "coming.rs (0 depls)", + "cnvrg.io (0 depls)", + "cms.hhs.gov (0 depls)", + "ciasc.sc.gov.br (0 depls)", + "cetin.cz (0 depls)", + "camptocamp.com (0 depls)", + "caditgroup.com (0 depls)", + "bthtech.com (0 depls)", + "br-petrobras.com.br (0 depls)", + "bolivariano.com (0 depls)", + "bnc.ca (0 depls)", + "fcc.es (0 depls)", + "fintek.com.tr (0 depls)", + "lme.com (0 depls)", + "hkairport.com (0 depls)", + "linquest.com (0 depls)", + "lemc.com.hk (0 depls)", + "kpmg.com (0 depls)", + "kangaroot.net (0 depls)", + "jbcc.co.jp (0 depls)", + "itgroupinc.asia (0 depls)", + "italtel.com (0 depls)", + "ipmgroup.be (0 depls)", + "integraltech.com.au (0 depls)", + "insightglobal.com (0 depls)", + "inet.co.th (0 depls)", + "ibermatica.com (0 depls)", + "hk.ncs-i.com (0 depls)", + "fmc-na.com (0 depls)", + "hcahealthcare.com (0 depls)", + "havelsan.com.tr (0 depls)", + "googlemail.com (0 depls)", + "gigaspaces.com (0 depls)", + "gic.com.sg (0 depls)", + "gfi.fr (0 depls)", + "gexterno.es (0 depls)", + "generali.com.hk (0 depls)", + "gemalto.com (0 depls)", + "gds.ey.com (0 depls)", + "fwd.com (0 depls)", + "fokus.fraunhofer.de (0 depls)", + "103mvl.net (0 depls)" + ], + "description": "Email Domain", + "index": 0, + "layout": "IPY_MODEL_44f50b5e96674b5996f6f74e51865d39", + "style": "IPY_MODEL_e411802bf7d54a60b7c07bf071d887dc" + } + }, + "8c3c7fc613ef4aae96026b9841a0770c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8c4a13a70e0149ddab3a8227905875b7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "90634dc50c834af3a188cf0ece5ccb33": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "ALL (5481)", + "us.ibm.com (2527 depls)", + "ibm.com (120 depls)", + "gmail.com (113 depls)", + "redhat.com (68 depls)", + "cn.ibm.com (50 depls)", + "hpe.com (48 depls)", + "uk.ibm.com (42 depls)", + "in.ibm.com (39 depls)", + "fr.ibm.com (30 depls)", + "ie.ibm.com (30 depls)", + "de.ibm.com (23 depls)", + "jp.ibm.com (20 depls)", + "hcl.com (17 depls)", + "ca.ibm.com (16 depls)", + "secureworks.com (16 depls)", + "accenture.com (15 depls)", + "capgroup.com (13 depls)", + "intel.com (13 depls)", + "dell.com (13 depls)", + "prophetstor.com (13 depls)", + "nokia.com (12 depls)", + "cloudera.com (12 depls)", + "twistlock.com (12 depls)", + "cisco.com (11 depls)", + "hotmail.com (11 depls)", + "br.ibm.com (11 depls)", + "o2its.cz (11 depls)", + "bell.ca (10 depls)", + "qq.com (10 depls)", + "atos.net (10 depls)", + "brreg.no (9 depls)", + "tractorsupply.com (9 depls)", + "delta.com (9 depls)", + "landregistry.gov.uk (9 depls)", + "anthem.com (9 depls)", + "pl.ibm.com (9 depls)", + "il.ibm.com (9 depls)", + "dl.jp.fujitsu.com (9 depls)", + "worldpay.com (8 depls)", + "santander.com.ar (8 depls)", + "sas.com (8 depls)", + "cern.ch (8 depls)", + "ford.com (8 depls)", + "sparebank1.no (8 depls)", + "ukcloud.com (8 depls)", + "t-systems.com (8 depls)", + "ticket.noris.net (8 depls)", + "f5.com (8 depls)", + "discover.com (8 depls)", + "tr.ibm.com (7 depls)", + "crossvale.com (7 depls)", + "mon-tier.com (7 depls)", + "rbc.com (7 depls)", + "jndata.dk (7 depls)", + "microsoft.com (7 depls)", + "netone.co.jp (7 depls)", + "regions.com (7 depls)", + "telefonica.com (7 depls)", + "citizensbank.com (7 depls)", + "soprasteria.com (6 depls)", + "nec.com (6 depls)", + "elkarlan.onmicrosoft.com (6 depls)", + "linux.vnet.ibm.com (6 depls)", + "tigera.io (6 depls)", + "trustmarkbenefits.com (6 depls)", + "cscinfo.com (6 depls)", + "deutsche-boerse.com (6 depls)", + "capgemini.com (6 depls)", + "cz.ibm.com (6 depls)", + "es.ibm.com (6 depls)", + "hitachi.com (6 depls)", + "keylane.com (6 depls)", + "axa.com (6 depls)", + "orange.com (6 depls)", + "etisalat.ae (5 depls)", + "qct.io (5 depls)", + "microfocus.com (5 depls)", + "tk.de (5 depls)", + "debeka.de (5 depls)", + "consol.de (5 depls)", + "dynatrace.com (5 depls)", + "dxc.com (5 depls)", + "nl.ibm.com (5 depls)", + "nectechnologies.in (5 depls)", + "ctc-g.co.jp (5 depls)", + "arbetsformedlingen.se (5 depls)", + "ascendcorp.com (5 depls)", + "rct.co.il (5 depls)", + "ais.co.th (5 depls)", + "cigna.com (5 depls)", + "f-i.de (5 depls)", + "plus.pl (5 depls)", + "k8s.jp.nec.com (5 depls)", + "wipro.com (5 depls)", + "it.ibm.com (5 depls)", + "vmware.com (5 depls)", + "sbb.ch (5 depls)", + "alaskaair.com (5 depls)", + "lmco.com (5 depls)", + "lenovo.com (5 depls)", + "au1.ibm.com (5 depls)", + "tipsport.cz (4 depls)", + "volkswagen.de (4 depls)", + "ao.uscourts.gov (4 depls)", + "laposte.fr (4 depls)", + "bom.gov.au (4 depls)", + "elcorteingles.es (4 depls)", + "sg.ibm.com (4 depls)", + "ericsson.com (4 depls)", + "anz.com (4 depls)", + "blood.ca (4 depls)", + "meteorcomm.com (4 depls)", + "za.ibm.com (4 depls)", + "amdocs.com (4 depls)", + "enterprisedb.com (4 depls)", + "wuerth-it.com (4 depls)", + "bitmarck.de (4 depls)", + "kocsistem.com.tr (4 depls)", + "thy.com (4 depls)", + "achmea.nl (4 depls)", + "bankmandiri.co.id (4 depls)", + "asseco.pl (4 depls)", + "kolon.com (4 depls)", + "nationwide.co.uk (4 depls)", + "vodafone.com (4 depls)", + "solarflare.com (4 depls)", + "ltkalmar.se (4 depls)", + "mskcc.org (4 depls)", + "lsd.co.za (4 depls)", + "att.com (4 depls)", + "corp.vodafone.es (4 depls)", + "techdata.com (4 depls)", + "msccruises.com (4 depls)", + "crif.com (4 depls)", + "sap.com (4 depls)", + "cirb.brussels (4 depls)", + "omnitracs.com (4 depls)", + "nike.com (4 depls)", + "hydro.qc.ca (4 depls)", + "skatteetaten.no (4 depls)", + "opennaru.com (4 depls)", + "cslbehring.com (4 depls)", + "cucbc.com (4 depls)", + "experian.com (4 depls)", + "saq.qc.ca (4 depls)", + "transport.nsw.gov.au (4 depls)", + "standardbank.co.za (4 depls)", + "honeywell.com (4 depls)", + "garantibbva.com.tr (4 depls)", + "adcubum.com (4 depls)", + "canada.ca (4 depls)", + "teco.com.ar (4 depls)", + "videotron.com (4 depls)", + "cyberark.com (4 depls)", + "mitre.org (3 depls)", + "aricent.com (3 depls)", + "minsait.com (3 depls)", + "mtb.com (3 depls)", + "mii.co.id (3 depls)", + "accenturefederal.com (3 depls)", + "pentalink.co.kr (3 depls)", + "gm.com (3 depls)", + "sk.com (3 depls)", + "sdx.com (3 depls)", + "seb.se (3 depls)", + "linuxpolska.pl (3 depls)", + "list.orange.com (3 depls)", + "kb.vlaanderen.be (3 depls)", + "kasten.io (3 depls)", + "adlere.fr (3 depls)", + "jp.fujitsu.com (3 depls)", + "jet.su (3 depls)", + "siemens.com (3 depls)", + "jazz.com.pk (3 depls)", + "itau.com.ar (3 depls)", + "it.mos.ru (3 depls)", + "ipi.ch (3 depls)", + "michigan.gov (3 depls)", + "apis-it.hr (3 depls)", + "inaservice.com.cn (3 depls)", + "iecisa.com (3 depls)", + "mwam.com (3 depls)", + "southernco.com (3 depls)", + "mail.ru (3 depls)", + "hu.ibm.com (3 depls)", + "hotpotatoes.nl (3 depls)", + "ru.ibm.com (3 depls)", + "helsinki.fi (3 depls)", + "mcb.mu (3 depls)", + "stjude.org (3 depls)", + "americansystems.com (3 depls)", + "macif.fr (3 depls)", + "netapp.com (3 depls)", + "regionorebrolan.se (3 depls)", + "optus.com.au (3 depls)", + "btpnsyariah.com (3 depls)", + "portoseguro.com.br (3 depls)", + "virginia.edu (3 depls)", + "portworx.com (3 depls)", + "cargo-partner.com (3 depls)", + "onespan.com (3 depls)", + "va.gov (3 depls)", + "cl.ibm.com (3 depls)", + "ocbcnisp.com (3 depls)", + "produban.com (3 depls)", + "nttdata.com (3 depls)", + "feratel.at (3 depls)", + "nri.co.jp (3 depls)", + "unicredit.eu (3 depls)", + "norsk-tipping.no (3 depls)", + "uk.mizuho-sc.com (3 depls)", + "criticaltechworks.com (3 depls)", + "btpn.com (3 depls)", + "brb.com.br (3 depls)", + "ua.ibm.com (3 depls)", + "bouyguestelecom.fr (3 depls)", + "pbz.hr (3 depls)", + "bandwidth.com (3 depls)", + "payback.net (3 depls)", + "zenuity.com (3 depls)", + "paloaltonetworks.com (3 depls)", + "outtherelabs.com (3 depls)", + "bcb.gov.br (3 depls)", + "pheaa.org (3 depls)", + "126.com (3 depls)", + "airbus.com (3 depls)", + "wwt.com (3 depls)", + "wwpdl.vnet.ibm.com (3 depls)", + "ornl.gov (3 depls)", + "origo.is (3 depls)", + "wellmark.com (3 depls)", + "163.com (3 depls)", + "bnz.co.nz (3 depls)", + "cronos.be (3 depls)", + "commvault.com (3 depls)", + "aetna.com (3 depls)", + "es.logicalis.com (3 depls)", + "dnrd.ae (3 depls)", + "tibco.com (3 depls)", + "schiphol.nl (3 depls)", + "dti.ulaval.ca (3 depls)", + "rbs-services.com (3 depls)", + "emirates.com (3 depls)", + "rechtspraak.nl (3 depls)", + "asia.ccb.com (3 depls)", + "deloitte.de (3 depls)", + "teb.com.tr (3 depls)", + "team.telstra.com (3 depls)", + "tds.fujitsu.com (3 depls)", + "tbc.sa (3 depls)", + "redbridge.se (3 depls)", + "redislabs.com (3 depls)", + "faa.gov (3 depls)", + "tine.no (3 depls)", + "netorek.fi (3 depls)", + "anfccorp.com (3 depls)", + "transfond.ro (3 depls)", + "de.bosch.com (3 depls)", + "csx.com (3 depls)", + "customs.bg (3 depls)", + "niandc.co.jp (3 depls)", + "trilio.io (3 depls)", + "travelers.com (3 depls)", + "amadeus.com (2 depls)", + "mainz.ibm.com (2 depls)", + "nrb.be (2 depls)", + "npo.nl (2 depls)", + "outlook.com (2 depls)", + "mont.com (2 depls)", + "liquidit.nz (2 depls)", + "ngerntidlor.com (2 depls)", + "nbch.com.ar (2 depls)", + "nist.gov (2 depls)", + "li9.com (2 depls)", + "pbtech.net.br (2 depls)", + "navitus.com (2 depls)", + "lists.psi.ch (2 depls)", + "materna.de (2 depls)", + "llnl.gov (2 depls)", + "alliander.com (2 depls)", + "nyu.edu (2 depls)", + "anadoluefes.com (2 depls)", + "oncor.com (2 depls)", + "aliyun.com (2 depls)", + "ontario.ca (2 depls)", + "openline.nl (2 depls)", + "neuvector.com (2 depls)", + "netzlink.com (2 depls)", + "meteoswiss.ch (2 depls)", + "live.com (2 depls)", + "maif.fr (2 depls)", + "opsta.co.th (2 depls)", + "andesdigital.com (2 depls)", + "lordabbett.com (2 depls)", + "orange.fr (2 depls)", + "loto-quebec.com (2 depls)", + "nvidia.com (2 depls)", + "original.com.br (2 depls)", + "alcatel-lucent.com (2 depls)", + "kemkes.go.id (2 depls)", + "lansforsakringar.se (2 depls)", + "cloudbees.com (2 depls)", + "cn.fujitsu.com (2 depls)", + "cognizant.com (2 depls)", + "comarch.pl (2 depls)", + "combis.hr (2 depls)", + "atradius.com (2 depls)", + "comp.com.pl (2 depls)", + "confluent.io (2 depls)", + "atpco.net (2 depls)", + "consorsbank.de (2 depls)", + "copergmps.it (2 depls)", + "covis.de (2 depls)", + "cra-arc.gc.ca (2 depls)", + "crediteurope.nl (2 depls)", + "crown.com (2 depls)", + "csaa.com (2 depls)", + "daa.ie (2 depls)", + "dbs.com (2 depls)", + "delijn.be (2 depls)", + "deloitte.com (2 depls)", + "dentisoft.com (2 depls)", + "det.nsw.edu.au (2 depls)", + "deutschepost.de (2 depls)", + "devoteam.com (2 depls)", + "diamanti.com (2 depls)", + "dontouch.ch (2 depls)", + "cloudwerkstatt.com (2 depls)", + "claro.com.ar (2 depls)", + "dxcas.com (2 depls)", + "chicos.com (2 depls)", + "bancamarch.es (2 depls)", + "bancocredicoop.coop (2 depls)", + "banval.sba.com.ar (2 depls)", + "barceloviajes.com (2 depls)", + "b1-systems.de (2 depls)", + "bcx.co.za (2 depls)", + "be.ibm.com (2 depls)", + "bechtle.com (2 depls)", + "axians.de (2 depls)", + "bldr.com (2 depls)", + "bls.ch (2 depls)", + "blum.com (2 depls)", + "boeing.com (2 depls)", + "bps-suisse.ch (2 depls)", + "brighthousefinancial.com (2 depls)", + "broadcom.com (2 depls)", + "bt.com (2 depls)", + "buenosaires.gob.ar (2 depls)", + "bv.com.br (2 depls)", + "c3.ai (2 depls)", + "avisbudget.com (2 depls)", + "casa-systems.com (2 depls)", + "catalysts.cc (2 depls)", + "cegeka.be (2 depls)", + "aurotechcorp.com (2 depls)", + "doosan.com (2 depls)", + "eaton.com (2 depls)", + "krash.be (2 depls)", + "aquasec.com (2 depls)", + "helvetia.ch (2 depls)", + "hk1.ibm.com (2 depls)", + "hma.honda.com (2 depls)", + "hopitalvs.ch (2 depls)", + "i-t-m.com (2 depls)", + "ibermutua.es (2 depls)", + "icbc.com.ar (2 depls)", + "ikea.com (2 depls)", + "illumio.com (2 depls)", + "infinkon.de (2 depls)", + "infosys.com (2 depls)", + "ing.com (2 depls)", + "inspur.com (2 depls)", + "intertech.com.tr (2 depls)", + "intervalintl.com (2 depls)", + "intesasanpaolo.com (2 depls)", + "aoins.com (2 depls)", + "its4u.lu (2 depls)", + "jri-america.com (2 depls)", + "kapsch.net (2 depls)", + "kela.fi (2 depls)", + "kohls.com (2 depls)", + "konsalt.com.tr (2 depls)", + "korian.fr (2 depls)", + "kr.ibm.com (2 depls)", + "healthpartners.com (2 depls)", + "h-da.de (2 depls)", + "egcp.com (2 depls)", + "gu.se (2 depls)", + "elostech.cz (2 depls)", + "employers.com (2 depls)", + "endpointclosing.com (2 depls)", + "ergo-life.cn (2 depls)", + "exidelife.in (2 depls)", + "express-scripts.com (2 depls)", + "extraordy.com (2 depls)", + "extremedata.com.tw (2 depls)", + "ashghal.gov.qa (2 depls)", + "fintechgroup.com (2 depls)", + "firstrepublic.com (2 depls)", + "fitit.be (2 depls)", + "fnb.co.za (2 depls)", + "ars.de (2 depls)", + "fostermoore.com (2 depls)", + "gazprom-neft.ru (2 depls)", + "arctiq.ca (2 depls)", + "gen-e.com (2 depls)", + "genusllc.com (2 depls)", + "arburg.com (2 depls)", + "pe.ibm.com (2 depls)", + "global.ntt (2 depls)", + "globalrelay.net (2 depls)", + "grainger.com (2 depls)", + "grupo-pinero.com (2 depls)", + "gire.com (2 depls)", + "anadolusigorta.com.tr (2 depls)", + "schneider.com (2 depls)", + "utk.edu (2 depls)", + "slb.com (2 depls)", + "aditinet.it (2 depls)", + "rohde-schwarz.com (2 depls)", + "us.imshealth.com (2 depls)", + "ro.ibm.com (2 depls)", + "tetrate.io (2 depls)", + "tep.com (2 depls)", + "usda.gov (2 depls)", + "rise-world.com (2 depls)", + "softec.sk (2 depls)", + "telus.com (2 depls)", + "adfinis-sygroup.ch (2 depls)", + "3-s.at (2 depls)", + "valensas.com (2 depls)", + "thehartford.com (2 depls)", + "teliacompany.com (2 depls)", + "telenetgroup.be (2 depls)", + "telekom.de (2 depls)", + "sos.eu (2 depls)", + "verizonmedia.com (2 depls)", + "spark.co.nz (2 depls)", + "spectrumhealth.org (2 depls)", + "vineti.com (2 depls)", + "visana.ch (2 depls)", + "purestorage.com (2 depls)", + "systex.com.hk (2 depls)", + "syspower.com.tw (2 depls)", + "sysage.com.tw (2 depls)", + "ups.com (2 depls)", + "rs.ibm.com (2 depls)", + "progressive.com (2 depls)", + "sbm.com.sa (2 depls)", + "trace3.com (2 depls)", + "sekom.com.tr (2 depls)", + "turbonomic.com (2 depls)", + "turkcell.com.tr (2 depls)", + "tohmatsu.co.jp (2 depls)", + "schufa.de (2 depls)", + "scholastic.com (2 depls)", + "senduvu.com (2 depls)", + "tw.ibm.com (2 depls)", + "scanplus.de (2 depls)", + "aareon.com (2 depls)", + "tmrnd.com.my (2 depls)", + "tmbbank.com (2 depls)", + "sanofi-aventis.com (2 depls)", + "rt.ru (2 depls)", + "uk.fujitsu.com (2 depls)", + "si.ibm.com (2 depls)", + "abanca.com (2 depls)", + "samsung.com (2 depls)", + "ulx.hu (2 depls)", + "advance-auto.com (2 depls)", + "umb.ch (2 depls)", + "safaricom.co.ke (2 depls)", + "sabancidx.com (2 depls)", + "tinubu.com (2 depls)", + "s-itsolutions.at (2 depls)", + "tiaa-cref.org (2 depls)", + "rtlabs.ru (2 depls)", + "vsp.com (2 depls)", + "reisebank.de (2 depls)", + "aexp.com (2 depls)", + "stoiximan.gr (2 depls)", + "startx.fr (2 depls)", + "stat.gouv.qc.ca (2 depls)", + "syntegrity.com.au (2 depls)", + "syncsort.com (2 depls)", + "swissmedical.com.ar (2 depls)", + "acp.at (2 depls)", + "pixar.com (2 depls)", + "piros.be (2 depls)", + "14west.us (2 depls)", + "starhub.com (2 depls)", + "yahoo.com (2 depls)", + "swedbank.se (2 depls)", + "pfandbriefbank.com (2 depls)", + "swdeca.com (2 depls)", + "pf.gov.br (2 depls)", + "yipintsoi.com (2 depls)", + "yoox.com (2 depls)", + "sv-informatik.de (2 depls)", + "webcomm.com.tw (2 depls)", + "ww-informatik.de (2 depls)", + "syr.edu (2 depls)", + "example.com (1 depls)", + "extrasys.it (1 depls)", + "gasnatural.com (1 depls)", + "taos.com (1 depls)", + "dhl.com (1 depls)", + "swifttrans.com (1 depls)", + "dhconsulting.ch (1 depls)", + "dha.gov.ae (1 depls)", + "dewa.gov.ae (1 depls)", + "tjce.jus.br (1 depls)", + "gblsys.com (1 depls)", + "t.ht.hr (1 depls)", + "gbmme.com (1 depls)", + "gd-ms.com (1 depls)", + "tjsys.co.jp (1 depls)", + "swisscom.com (1 depls)", + "dict.gov.ph (1 depls)", + "deutsche-factoring.de (1 depls)", + "ext.soprasteria.com (1 depls)", + "dipres.gob.cl (1 depls)", + "tiri.li (1 depls)", + "asset-metrix.com (1 depls)", + "gantek.com (1 depls)", + "dlt.com (1 depls)", + "tier2consulting.com (1 depls)", + "ext.ec.europa.eu (1 depls)", + "docupace.com (1 depls)", + "dollargeneral.com (1 depls)", + "thinksis.com (1 depls)", + "dpf.jp.nec.com (1 depls)", + "gaminginnovationgroup.com (1 depls)", + "gabrielli.info (1 depls)", + "deutschebahn.com (1 depls)", + "tkhinnovations.com (1 depls)", + "ewerk.com (1 depls)", + "tre.se (1 depls)", + "archmi.com (1 depls)", + "defacto.com.tr (1 depls)", + "decsoft.com.pl (1 depls)", + "tpg.ch (1 depls)", + "aceinfosolutions.com (1 depls)", + "supcom.tn (1 depls)", + "ddti.net (1 depls)", + "exxonmobil.com (1 depls)", + "triliodata.com (1 depls)", + "datto.com (1 depls)", + "daticloud.com (1 depls)", + "datatrend.com (1 depls)", + "datastar.com.ar (1 depls)", + "at.seg-social.es (1 depls)", + "geodis.com (1 depls)", + "a1.bg (1 depls)", + "sys.aok.de (1 depls)", + "fcagroup.com (1 depls)", + "fabasoft.com (1 depls)", + "dellead.com (1 depls)", + "dellteam.com (1 depls)", + "arcor.de (1 depls)", + "deloitte.co.nz (1 depls)", + "sysdig.com (1 depls)", + "tnb.com.my (1 depls)", + "generali.com (1 depls)", + "deloitte.com.au (1 depls)", + "asw.com.hk (1 depls)", + "sva.de (1 depls)", + "fi.ibm.com (1 depls)", + "asfinag.at (1 depls)", + "dspace.de (1 depls)", + "dsv.com (1 depls)", + "g-able.com (1 depls)", + "firstdata.com (1 depls)", + "telecomitalia.it (1 depls)", + "erieinsurance.com (1 depls)", + "fisglobal.com (1 depls)", + "tcmb.gov.tr (1 depls)", + "ereinsure.com (1 depls)", + "epiontis.com (1 depls)", + "daocloud.io (1 depls)", + "thinkahead.com (1 depls)", + "enonic.com (1 depls)", + "exisoft.com.ar (1 depls)", + "fixedmea.com (1 depls)", + "enfogroup.com (1 depls)", + "enea.com (1 depls)", + "flhealth.gov (1 depls)", + "academia-online.org (1 depls)", + "escenic.com (1 depls)", + "esri.com (1 depls)", + "exatetechnology.com (1 depls)", + "estafet.com (1 depls)", + "asl.com.hk (1 depls)", + "etechsystem.co.kr (1 depls)", + "etele.com.ua (1 depls)", + "techmahindra.com (1 depls)", + "fiserv.com (1 depls)", + "eurecom.fr (1 depls)", + "eurobank.gr (1 depls)", + "eurobet.it (1 depls)", + "firstmarblehead.com (1 depls)", + "everbank.com (1 depls)", + "acceleris.ch (1 depls)", + "syone.com (1 depls)", + "teliacygate.fi (1 depls)", + "telkomsel.co.id (1 depls)", + "flowfactor.be (1 depls)", + "fronius.com (1 depls)", + "abaxo.co.uk (1 depls)", + "asseco-see.rs (1 depls)", + "dvbern.ch (1 depls)", + "arrow.com (1 depls)", + "futuregen.co.kr (1 depls)", + "thalesgroup.com (1 depls)", + "fujitsu.com (1 depls)", + "abinitio.com (1 depls)", + "fedins.com (1 depls)", + "eagleinvsys.com (1 depls)", + "asseco-see.com (1 depls)", + "teuto.net (1 depls)", + "ebox.ca (1 depls)", + "ec.europa.eu (1 depls)", + "ec.ibm.com (1 depls)", + "synopsys.com (1 depls)", + "free.fr (1 depls)", + "edgeverve.com (1 depls)", + "efinance.com.eg (1 depls)", + "fr.scc.com (1 depls)", + "tasgroup.it (1 depls)", + "eigentech.com (1 depls)", + "aspenmesh.io (1 depls)", + "teranet.ca (1 depls)", + "swisstph.ch (1 depls)", + "sympany.ch (1 depls)", + "tempest.sk (1 depls)", + "email.unc.edu (1 depls)", + "syncrasy.io (1 depls)", + "tav.aero (1 depls)", + "darkmatter.ae (1 depls)", + "pecunpay.es (1 depls)", + "danskecommodities.com (1 depls)", + "varmeego.com (1 depls)", + "vlinkinfo.com (1 depls)", + "bu.edu (1 depls)", + "btrl.ro (1 depls)", + "vn.ibm.com (1 depls)", + "vodafoneziggo.com (1 depls)", + "btp.com.br (1 depls)", + "avl.com (1 depls)", + "volvocars.com (1 depls)", + "vp.dk (1 depls)", + "vps.no (1 depls)", + "vrtx.com (1 depls)", + "vshn.ch (1 depls)", + "vtb.ru (1 depls)", + "bps.gub.uy (1 depls)", + "vub.sk (1 depls)", + "bpba.com.ar (1 depls)", + "bpa.bund.de (1 depls)", + "vw.com (1 depls)", + "wanadoo.fr (1 depls)", + "vkb.de (1 depls)", + "visma.com (1 depls)", + "c3iot.com (1 depls)", + "vfunction.com (1 depls)", + "2nwsl.jp.nec.com (1 depls)", + "cepsa.com (1 depls)", + "verifone.com (1 depls)", + "cedrusco.com (1 depls)", + "ccc.jp.nec.com (1 depls)", + "cbc-companies.com (1 depls)", + "verizon.com (1 depls)", + "catalogicsoftware.com (1 depls)", + "vhi.ie (1 depls)", + "cablelabs.com (1 depls)", + "viessmann.com (1 depls)", + "avaloq.com (1 depls)", + "campbell.com (1 depls)", + "camelland.com (1 depls)", + "cam-sys.net (1 depls)", + "caleres.com (1 depls)", + "caffeine.tv (1 depls)", + "cablevision.com.ar (1 depls)", + "axcelinno.io (1 depls)", + "bokf.com (1 depls)", + "weave.works (1 depls)", + "bcbsma.com (1 depls)", + "berlin-creative.de (1 depls)", + "benefit-one.co.jp (1 depls)", + "bendigobank.com.au (1 depls)", + "bellintegrator.com (1 depls)", + "wx.jp.nec.com (1 depls)", + "beans.com.my (1 depls)", + "yandex.com (1 depls)", + "bcbssc.com (1 depls)", + "bcbsfl.com (1 depls)", + "bestbuy.com (1 depls)", + "yandex.ru (1 depls)", + "bca.co.id (1 depls)", + "baw.de (1 depls)", + "zero2ai.io (1 depls)", + "zerto.com (1 depls)", + "zettaset.com (1 depls)", + "zh.nes.jp.nec.com (1 depls)", + "zivra.com (1 depls)", + "bertelsmann.de (1 depls)", + "bet365.com (1 depls)", + "bnsf.com (1 depls)", + "wellcare.com (1 depls)", + "axians.com (1 depls)", + "bmw.de (1 depls)", + "bmo.com (1 depls)", + "bmc.com (1 depls)", + "websam.jp.nec.com (1 depls)", + "bluestembrands.com (1 depls)", + "blueair.aero (1 depls)", + "bls.gov (1 depls)", + "westmonroepartners.com (1 depls)", + "bevalex.by (1 depls)", + "bliex.com (1 depls)", + "wimionline.be (1 depls)", + "worldline.com (1 depls)", + "bl.ch (1 depls)", + "bkfs.com (1 depls)", + "bitbull.ch (1 depls)", + "birevim.com.tr (1 depls)", + "bhp.com (1 depls)", + "cetelem.com.br (1 depls)", + "cfh.sk (1 depls)", + "danskebank.lt (1 depls)", + "cgi.com (1 depls)", + "uftwf.org (1 depls)", + "ugent.be (1 depls)", + "7p-group.com (1 depls)", + "atix.de (1 depls)", + "uipath.com (1 depls)", + "creditone.com (1 depls)", + "uk.pgds.com (1 depls)", + "cpcc.edu (1 depls)", + "ulb.ac.be (1 depls)", + "couchbase.com (1 depls)", + "ultra.com.br (1 depls)", + "corning.com (1 depls)", + "copel.com (1 depls)", + "contracted.pmi.com (1 depls)", + "unam.mx (1 depls)", + "unbelievable-machine.com (1 depls)", + "conservador.cl (1 depls)", + "conocophillips.com (1 depls)", + "unisystems.gr (1 depls)", + "u-s-p.ch (1 depls)", + "croz.net (1 depls)", + "crunchydata.com (1 depls)", + "tunisietelecom.tn (1 depls)", + "tsisyk.com (1 depls)", + "tubitak.gov.tr (1 depls)", + "cyccustomshop.com (1 depls)", + "ativainvestimentos.com.br (1 depls)", + "tudelft.nl (1 depls)", + "tugo.com (1 depls)", + "cusa.canon.com (1 depls)", + "cumulus-systems.com (1 depls)", + "cu.co.th (1 depls)", + "crv4all.com (1 depls)", + "ctc-g.com.sg (1 depls)", + "ctc-g.com.my (1 depls)", + "cspq.gouv.qc.ca (1 depls)", + "cspire.com (1 depls)", + "tutanota.com (1 depls)", + "csiltd.co.uk (1 depls)", + "gizasystems.com (1 depls)", + "tuwien.ac.at (1 depls)", + "comtegra.pl (1 depls)", + "computaris.com (1 depls)", + "computacenter.com (1 depls)", + "usfalcon.com (1 depls)", + "cloudnesil.com (1 depls)", + "cloudgensys.com (1 depls)", + "cloudfitsoftware.com (1 depls)", + "usaa.com (1 depls)", + "cloud9ers.com (1 depls)", + "cloud-bigdata.net (1 depls)", + "clearstream.com (1 depls)", + "clearlake.ibm.com (1 depls)", + "clarite.pl (1 depls)", + "cmbchina.com (1 depls)", + "uspto.gov (1 depls)", + "citictel-cpc.com (1 depls)", + "citec.com.au (1 depls)", + "vandergiesen.eu (1 depls)", + "cibc.com (1 depls)", + "chrissandrini.ch (1 depls)", + "varegos.com (1 depls)", + "chem.byu.edu (1 depls)", + "us.logicalis.com (1 depls)", + "audemarspiguet.com (1 depls)", + "compro.com.tr (1 depls)", + "comas.co.kr (1 depls)", + "compatibl.com (1 depls)", + "united.com (1 depls)", + "univie.ac.at (1 depls)", + "upc.ch (1 depls)", + "commerzbank.com (1 depls)", + "upenn.edu (1 depls)", + "comcast.net (1 depls)", + "upmc.edu (1 depls)", + "comafi.com.ar (1 depls)", + "us.af.mil (1 depls)", + "coinscrap.com (1 depls)", + "cohesity.com (1 depls)", + "ural.rt.ru (1 depls)", + "cognitivescale.com (1 depls)", + "cognitionfoundry.com (1 depls)", + "urr.se (1 depls)", + "cnsys.bg (1 depls)", + "cnr.it (1 depls)", + "sumerge.com (1 depls)", + "gravis.bg (1 depls)", + "globacap.com (1 depls)", + "mprj.mp.br (1 depls)", + "moodys.com (1 depls)", + "advent.com (1 depls)", + "monex.com.mx (1 depls)", + "rku-it.de (1 depls)", + "rnp.br (1 depls)", + "mintic.gov.co (1 depls)", + "mindgate.in (1 depls)", + "robak.at (1 depls)", + "rockplace.co.kr (1 depls)", + "rogers.com (1 depls)", + "mhi.co.jp (1 depls)", + "mfec.co.th (1 depls)", + "rosbank.ru (1 depls)", + "metlife.com (1 depls)", + "royalcyber.com (1 depls)", + "rpa.gov.uk (1 depls)", + "metanet.co.kr (1 depls)", + "meridianit.co.uk (1 depls)", + "mendix.com (1 depls)", + "morganstanley.com (1 depls)", + "msg.group (1 depls)", + "alpha.gr (1 depls)", + "rhb.ch (1 depls)", + "ndb.bg (1 depls)", + "ncr.com (1 depls)", + "red8.com (1 depls)", + "nbs.sk (1 depls)", + "redbeemedia.com (1 depls)", + "reged.com (1 depls)", + "naver.com (1 depls)", + "regionh.dk (1 depls)", + "n11.com (1 depls)", + "mx1.ibm.com (1 depls)", + "mutua.es (1 depls)", + "musala.com (1 depls)", + "reply.it (1 depls)", + "amdocs.onmicrosoft.com (1 depls)", + "multapplied.net (1 depls)", + "muf.co.id (1 depls)", + "mtel.ba (1 depls)", + "resbank.co.za (1 depls)", + "msn.com (1 depls)", + "medsolv.com (1 depls)", + "mednet.ucla.edu (1 depls)", + "ampsight.com (1 depls)", + "medirect.com.mt (1 depls)", + "loblaw.ca (1 depls)", + "sancorsalud.com.ar (1 depls)", + "sanlam.co.za (1 depls)", + "sayers.com (1 depls)", + "sb.cl (1 depls)", + "list.soliton.co.jp (1 depls)", + "sberbank.hr (1 depls)", + "adp.com (1 depls)", + "scalefree.co.jp (1 depls)", + "anexia-it.com (1 depls)", + "lightning-it.de (1 depls)", + "libertyglobal.com (1 depls)", + "lgcns.com (1 depls)", + "lfst.bayern.de (1 depls)", + "admiralty.io (1 depls)", + "leep.app (1 depls)", + "learnconsult.com (1 depls)", + "sulamerica.com.br (1 depls)", + "lafargeholcim.com (1 depls)", + "lombardodier.com (1 depls)", + "losheroes.cl (1 depls)", + "samoscyber.com (1 depls)", + "mainstream.net (1 depls)", + "mduresources.com (1 depls)", + "mdhs.ms.gov (1 depls)", + "mayadata.io (1 depls)", + "marlow.com.cy (1 depls)", + "markiiisys.com (1 depls)", + "marcelbrouwers.nl (1 depls)", + "mantech.com (1 depls)", + "mandatumlife.fi (1 depls)", + "mail.schwarz (1 depls)", + "lowes.com (1 depls)", + "s-und-n.de (1 depls)", + "mail.mil (1 depls)", + "sa.ibm.com (1 depls)", + "mahkamahagung.go.id (1 depls)", + "maana.io (1 depls)", + "ma.ibm.com (1 depls)", + "lso.ca (1 depls)", + "baloise.ch (1 depls)", + "ndgit.com (1 depls)", + "realglobe.jp (1 depls)", + "labcorp.com (1 depls)", + "pivotal.io (1 depls)", + "plusserver.com (1 depls)", + "agenda.si (1 depls)", + "oraex.com.br (1 depls)", + "pmi.com (1 depls)", + "polyu.edu.hk (1 depls)", + "opitz-consulting.com (1 depls)", + "popso.it (1 depls)", + "portshift.io (1 depls)", + "posteitaliane.it (1 depls)", + "openadvice.de (1 depls)", + "ppb.com (1 depls)", + "pr.sebrae.com.br (1 depls)", + "agd.gov.au (1 depls)", + "principledtechnologies.com (1 depls)", + "ominsure.co.za (1 depls)", + "omantel.om (1 depls)", + "ol.ge (1 depls)", + "oksystem.cz (1 depls)", + "ok.is (1 depls)", + "planeta.es (1 depls)", + "osec.pl (1 depls)", + "raytheon.com (1 depls)", + "oss-group.co.nz (1 depls)", + "pccth.com (1 depls)", + "pc-daiwabo.co.jp (1 depls)", + "perceptilabs.com (1 depls)", + "percona.com (1 depls)", + "pb.com (1 depls)", + "paytrail.com (1 depls)", + "agirc-arrco.fr (1 depls)", + "paycore.com (1 depls)", + "pasam.com (1 depls)", + "paradigmadigital.com (1 depls)", + "par-tec.it (1 depls)", + "pagero.com (1 depls)", + "agiledigital.com.au (1 depls)", + "outlook.fr (1 depls)", + "physter.com (1 depls)", + "outlook.at (1 depls)", + "ahgora.com.br (1 depls)", + "otago.ac.nz (1 depls)", + "ot.olympus.co.jp (1 depls)", + "odsoftwarehouse.com (1 depls)", + "ocsnet.it (1 depls)", + "priorbank.by (1 depls)", + "ocbc.com (1 depls)", + "nisa.com (1 depls)", + "pvgroup.be (1 depls)", + "pwc.com (1 depls)", + "qss.ba (1 depls)", + "allbluesolutions.com (1 depls)", + "quantech.com.lb (1 depls)", + "rabobank.nl (1 depls)", + "networld.co.jp (1 depls)", + "ae.ibm.com (1 depls)", + "netscape.net (1 depls)", + "nets.eu (1 depls)", + "radware.com (1 depls)", + "raiffeisengroup.ba (1 depls)", + "netnumber.com (1 depls)", + "netdriven.de (1 depls)", + "rakuten.com (1 depls)", + "nestle.com (1 depls)", + "nesic.com (1 depls)", + "neoflex.ru (1 depls)", + "nissho-ele.co.jp (1 depls)", + "puma.com (1 depls)", + "psba.qld.gov.au (1 depls)", + "ntst.com (1 depls)", + "oa.mo.gov (1 depls)", + "proalpha.de (1 depls)", + "prodevans.com (1 depls)", + "proedge.hk (1 depls)", + "profi-ag.de (1 depls)", + "nuuptech.com (1 depls)", + "nuuday.dk (1 depls)", + "proficom.de (1 depls)", + "alerant.hu (1 depls)", + "nlmk.com (1 depls)", + "proholding.com.pl (1 depls)", + "novascotia.ca (1 depls)", + "novadoc.nl (1 depls)", + "northstar.co.kr (1 depls)", + "prosis.de (1 depls)", + "protonmail.com (1 depls)", + "nogui.org (1 depls)", + "nnit.com (1 depls)", + "lacaja.com.ar (1 depls)", + "schultz.net (1 depls)", + "labanquepostale.fr (1 depls)", + "spaceflightindustries.com (1 depls)", + "ibagroup.eu (1 depls)", + "i-s.com.pl (1 depls)", + "i-3.co.id (1 depls)", + "spi.de (1 depls)", + "husbanken.no (1 depls)", + "hughes.com (1 depls)", + "hu.nl (1 depls)", + "spirent.com (1 depls)", + "hr.ibm.com (1 depls)", + "sprint.com (1 depls)", + "hpcg.com.mx (1 depls)", + "hpbsc.ch (1 depls)", + "src.si (1 depls)", + "hotmail.de (1 depls)", + "sscinc.com (1 depls)", + "hoplasoftware.com (1 depls)", + "stackrox.com (1 depls)", + "stakater.com (1 depls)", + "homecenter.co (1 depls)", + "apptecinc.com (1 depls)", + "ibs.bg (1 depls)", + "inhouse.wko.at (1 depls)", + "ibtech.com.tr (1 depls)", + "informatika.si (1 depls)", + "kw.zain.com (1 depls)", + "softwareone.com (1 depls)", + "infineon.com (1 depls)", + "adeo.com (1 depls)", + "solem.cl (1 depls)", + "imba.oeaw.ac.at (1 depls)", + "solute.us (1 depls)", + "sopragroup.com (1 depls)", + "sorint.it (1 depls)", + "iisl.com (1 depls)", + "ihealthtechnologies.com (1 depls)", + "igt.com (1 depls)", + "sorintlab.com (1 depls)", + "id.ibm.com (1 depls)", + "icu-it.nl (1 depls)", + "icteam.it (1 depls)", + "icloud.com (1 depls)", + "south.rt.ru (1 depls)", + "holmes.nl (1 depls)", + "holcim.com (1 depls)", + "hna.honda.com (1 depls)", + "stantec.com (1 depls)", + "guavus.com (1 depls)", + "stm.info (1 depls)", + "gruppohera.it (1 depls)", + "grupodifare.com (1 depls)", + "groupeonepoint.com (1 depls)", + "greentube.com (1 depls)", + "pccw.com (1 depls)", + "graat.co.jp (1 depls)", + "gpa-group.it (1 depls)", + "gp.biglobe.co.jp (1 depls)", + "gov.rs (1 depls)", + "gov.nt.ca (1 depls)", + "aramco.com (1 depls)", + "google.com (1 depls)", + "goodmit.co.kr (1 depls)", + "goias.gov.br (1 depls)", + "gmv.com (1 depls)", + "stud.hslu.ch (1 depls)", + "student.kdg.be (1 depls)", + "adaclare.com (1 depls)", + "halkbank.com.tr (1 depls)", + "handelsbanken.se (1 depls)", + "state.ca.gov (1 depls)", + "aprr.fr (1 depls)", + "staples.ca (1 depls)", + "apx.fr (1 depls)", + "hizliyedek.com (1 depls)", + "hitachivantara.com (1 depls)", + "hetg.ie (1 depls)", + "here.com (1 depls)", + "hel.fi (1 depls)", + "healthnow.org (1 depls)", + "hashicorp.com (1 depls)", + "hds.com (1 depls)", + "hco.ntt.co.jp (1 depls)", + "stcpay.com.sa (1 depls)", + "steelbridgelabs.com (1 depls)", + "hbl.ch (1 depls)", + "hazelcast.com (1 depls)", + "havenhealthcare.com (1 depls)", + "ar.ibm.com (1 depls)", + "infracode.ru (1 depls)", + "infinkon.eu (1 depls)", + "injeinc.co.kr (1 depls)", + "siemens-healthineers.com (1 depls)", + "keytradebank.com (1 depls)", + "kennasecurity.com (1 depls)", + "zte.com.cn (1 depls)", + "seldon.io (1 depls)", + "kbtg.tech (1 depls)", + "kbc.be (1 depls)", + "semperti.com (1 depls)", + "kb.dk (1 depls)", + "sentryds.com (1 depls)", + "service-rz.de (1 depls)", + "kaloom.com (1 depls)", + "kaizentechpartners.com (1 depls)", + "service.com.br (1 depls)", + "juntadeandalucia.es (1 depls)", + "juniper.net (1 depls)", + "jsa-group.ru (1 depls)", + "ses.com (1 depls)", + "shi-g.com (1 depls)", + "sibintek.ru (1 depls)", + "keyvatech.com (1 depls)", + "kgi.com (1 depls)", + "kibs.com.mk (1 depls)", + "securustechnologies.com (1 depls)", + "kuehne-nagel.com (1 depls)", + "ktbcs.co.th (1 depls)", + "scigames.at (1 depls)", + "sct.gouv.qc.ca (1 depls)", + "seat.es (1 depls)", + "kp.org (1 depls)", + "kove.net (1 depls)", + "seccom.ch (1 depls)", + "komplex-it.dk (1 depls)", + "kiratech.it (1 depls)", + "sefin.fortaleza.ce.gov.br (1 depls)", + "kolodok.info (1 depls)", + "kolabsys.com (1 depls)", + "sefin.gob.hn (1 depls)", + "segrocers.com (1 depls)", + "kobelcosys.co.jp (1 depls)", + "ko2.it (1 depls)", + "knowis.de (1 depls)", + "jeskell.com (1 depls)", + "shlitz.com (1 depls)", + "silich.de (1 depls)", + "it-fabrik.at (1 depls)", + "iridium-russia.com (1 depls)", + "janwiebe.eu (1 depls)", + "apendo.se (1 depls)", + "slac.stanford.edu (1 depls)", + "invesco.com (1 depls)", + "intility.no (1 depls)", + "sll.se (1 depls)", + "interkassa.com (1 depls)", + "interior.es (1 depls)", + "intercom.com.eg (1 depls)", + "intellilink.co.jp (1 depls)", + "inteliquent.com (1 depls)", + "snt.ro (1 depls)", + "soaint.com (1 depls)", + "instana.com (1 depls)", + "socgen.com (1 depls)", + "inps.it (1 depls)", + "innogy.com (1 depls)", + "innogrid.com (1 depls)", + "isd.jp.nec.com (1 depls)", + "ipo.gov.uk (1 depls)", + "it.ecommpay.com (1 depls)", + "itcenter.com.pt (1 depls)", + "iworks.kr (1 depls)", + "simlogics.net (1 depls)", + "siriuscom.com (1 depls)", + "simtech.nl (1 depls)", + "itergo.com (1 depls)", + "itchannel.asia (1 depls)", + "itl.com.ar (1 depls)", + "baloise.lu (1 depls)", + "apap.com.do (1 depls)", + "singtel.com (1 depls)", + "italgas.it (1 depls)", + "sina.cn (1 depls)", + "apoio.fr (0 depls)", + "amazon.com (0 depls)", + "archinsurance.com (0 depls)", + "acertcon.com.br (0 depls)", + "appdynamics.com (0 depls)", + "aa.jp.fujitsu.com (0 depls)", + "afbnet.it (0 depls)", + "anaconda.com (0 depls)", + "audi.de (0 depls)", + "aselsan.com.tr (0 depls)", + "407etr.com (0 depls)", + "assentis.com (0 depls)", + "21vianet.com (0 depls)", + "ztech.io (0 depls)", + "basefarm.com (0 depls)", + "opentext.com (0 depls)", + "saic.com (0 depls)", + "riverbed.com (0 depls)", + "rackspace.com (0 depls)", + "puzzle.ch (0 depls)", + "programmer.net (0 depls)", + "profuturo.com.mx (0 depls)", + "prgx.com (0 depls)", + "pm.nttdata.co.jp (0 depls)", + "phe.gov.uk (0 depls)", + "paysafe.com (0 depls)", + "otpsrbija.rs (0 depls)", + "orpea.net (0 depls)", + "nxp.com (0 depls)", + "schindler.com (0 depls)", + "nttdocomo.com (0 depls)", + "ntsretail.com (0 depls)", + "nexign.com (0 depls)", + "newrelic.com (0 depls)", + "netscout.com (0 depls)", + "neareasttechnology.com (0 depls)", + "ncontr.com (0 depls)", + "ncl.com (0 depls)", + "multisoft.co.id (0 depls)", + "multiplan.com (0 depls)", + "metrodemedellin.gov.co (0 depls)", + "medius.si (0 depls)", + "scalait.com (0 depls)", + "shaun.io (0 depls)", + "matrix.co.il (0 depls)", + "thejay.net (0 depls)", + "xsyscemerlang.com (0 depls)", + "xc.jp.nec.com (0 depls)", + "websiteitalia.com (0 depls)", + "verizonwireless.com (0 depls)", + "vegas.com (0 depls)", + "ute.com.uy (0 depls)", + "unipoint.co.kr (0 depls)", + "uib.es (0 depls)", + "toyota.com.br (0 depls)", + "tn.gov (0 depls)", + "tmx.com (0 depls)", + "tjpa.jus.br (0 depls)", + "th.ibm.com (0 depls)", + "smanager.com.br (0 depls)", + "technet-asia.com (0 depls)", + "techlead.com.br (0 depls)", + "symbiont.io (0 depls)", + "suva.ch (0 depls)", + "supermicro.com (0 depls)", + "sttproductions.de (0 depls)", + "stonedoorgroup.com (0 depls)", + "stofa.dk (0 depls)", + "stena.com (0 depls)", + "ss.jrkyushu-g.co.jp (0 depls)", + "solace.com (0 depls)", + "softwareag.com (0 depls)", + "mazda.co.jp (0 depls)", + "loxon.eu (0 depls)", + "blackducksoftware.com (0 depls)", + "corp.sysco.com (0 depls)", + "evtcorp.com (0 depls)", + "et.mde.es (0 depls)", + "elastic.co (0 depls)", + "east.ntt.co.jp (0 depls)", + "duo.nl (0 depls)", + "dtcc.com (0 depls)", + "doc88.com.br (0 depls)", + "disney.com (0 depls)", + "delsud.com.ar (0 depls)", + "dataport.de (0 depls)", + "cybercom.com (0 depls)", + "cristie.se (0 depls)", + "conova.com (0 depls)", + "finat.pl (0 depls)", + "commscope.com (0 depls)", + "coming.rs (0 depls)", + "cnvrg.io (0 depls)", + "cms.hhs.gov (0 depls)", + "ciasc.sc.gov.br (0 depls)", + "cetin.cz (0 depls)", + "camptocamp.com (0 depls)", + "caditgroup.com (0 depls)", + "bthtech.com (0 depls)", + "br-petrobras.com.br (0 depls)", + "bolivariano.com (0 depls)", + "bnc.ca (0 depls)", + "fcc.es (0 depls)", + "fintek.com.tr (0 depls)", + "lme.com (0 depls)", + "hkairport.com (0 depls)", + "linquest.com (0 depls)", + "lemc.com.hk (0 depls)", + "kpmg.com (0 depls)", + "kangaroot.net (0 depls)", + "jbcc.co.jp (0 depls)", + "itgroupinc.asia (0 depls)", + "italtel.com (0 depls)", + "ipmgroup.be (0 depls)", + "integraltech.com.au (0 depls)", + "insightglobal.com (0 depls)", + "inet.co.th (0 depls)", + "ibermatica.com (0 depls)", + "hk.ncs-i.com (0 depls)", + "fmc-na.com (0 depls)", + "hcahealthcare.com (0 depls)", + "havelsan.com.tr (0 depls)", + "googlemail.com (0 depls)", + "gigaspaces.com (0 depls)", + "gic.com.sg (0 depls)", + "gfi.fr (0 depls)", + "gexterno.es (0 depls)", + "generali.com.hk (0 depls)", + "gemalto.com (0 depls)", + "gds.ey.com (0 depls)", + "fwd.com (0 depls)", + "fokus.fraunhofer.de (0 depls)", + "103mvl.net (0 depls)" + ], + "description": "Email Domain", + "index": 0, + "layout": "IPY_MODEL_3b98c35ed21540818ef1455dcbb516a1", + "style": "IPY_MODEL_783f835a09b649a3887e918f615fb059" + } + }, + "90bf62ef0b324ea5a1a129e311488af5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23" + ], + "description": "hour", + "index": 12, + "layout": "IPY_MODEL_3163d9abe1f74289856fbd41d93898e6", + "style": "IPY_MODEL_4f7fa96550524dc8aa95f32929a8a7c9" + } + }, + "92297dc57c2b4cfa9d3bc8f944a40827": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23" + ], + "description": "hour", + "index": 16, + "layout": "IPY_MODEL_d824eea7c0cf43ceabcb45a3994f41b8", + "style": "IPY_MODEL_15b496f6cb6c4f4d864e607e3e5153c8" + } + }, + "92e5009e655d4900bedd95c9f1c96044": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "94bf7bbc623a44188de675db3a428cd8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9600d07e093e4f5da96ca880a34bed9c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "9737e62a3a384956a2d13f7eb2448b09": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "97a719b053c2459b82f1188588215f62": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_bfb34eb7c08d4498acff2b07ad0e983e" + } + }, + "98409eb030224181b31200aa09ddbd5e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "9943c7af97c043929d9b11f96d2b1493": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31" + ], + "description": "day", + "index": 16, + "layout": "IPY_MODEL_577d3b8cc6c240fc9ac0d58120e87884", + "style": "IPY_MODEL_61fe6cf101554747a0146b0dff9b29f7" + } + }, + "9a0e46d0873345069806aea914731004": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9dfadd5d91394284be17ec3b8c93d538": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9f805b7c16364e5d998997c9b67d4279": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a19cbc7f1f6c4eb2bf416f60fe935420": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a52337d4feee4c67b30b1e68ab1a9c5b": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_c540dc184e134b9584fcacc08d48a00b" + } + }, + "a52a2575806a4b5b9148a37f63e23f92": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "a6963905f0b1490686954276b3041ba0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a7d19912aabd4556adefa2003c9bbf08": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_32aa4bd9696d40b5b970db6d95e9e9f5", + "IPY_MODEL_2840a00ac95843378f9263bef757dbda", + "IPY_MODEL_1511e6a7f0c045c9b64cbf4995394790", + "IPY_MODEL_b652d15998674c2ca2ef8b3bfee8e21a", + "IPY_MODEL_1021e472ecaf4efab30d65c941f73784", + "IPY_MODEL_2d5b9f562fab4b6aa87b892f760bd1d0", + "IPY_MODEL_e78e9d3b11c24b1a9b24917c9627665c", + "IPY_MODEL_1f6a96cb9a554a70acf4556e2bc83005" + ], + "layout": "IPY_MODEL_55416ff6662f4621bca35aa463390d75" + } + }, + "a80a7a944131406fbb1247bfe2331780": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a87dfae7516348c0b4ca8ab465aa93c3": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_e7f3f30b09b84c918e6983d96296b643" + } + }, + "a9938f87c9d74bd18c1c8017f4cbe2da": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a9c9b9ecbc9b4f2d87083c7321b62f89": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ab87ed80a8dc43debbce6da37480a225": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_c303e07725a74136ab3bd345c1ea7542" + } + }, + "acc0b557e0bd4713a54806823d9b9f9b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_6bce4e1fd95141b0b9b09c09e0ee7c92", + "IPY_MODEL_2799f90af52645deb9166d90f460c78d" + ], + "layout": "IPY_MODEL_5254775885434d2a8f2ad27eb2bafe4f" + } + }, + "ad8dc5aeea494acfa5c571a5bcde362f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ae529b20bee0477bb5c28729873e4ba0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "aef0019e864646bfa9349e36dfc13ebf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31" + ], + "description": "day", + "index": 16, + "layout": "IPY_MODEL_94bf7bbc623a44188de675db3a428cd8", + "style": "IPY_MODEL_2625bbe3fb714fe68b19ba4e12e81581" + } + }, + "b1c872d655074efaaf7d421a20c41f32": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "b22fc2eda98f4a578dea6d43b95a1809": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "b43d35cd5b2045558709795d0ea45072": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b46af3399ab143fd9ad92cb10788ac6f": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_897bc201def445cba73fff63d6d5a8f4" + } + }, + "b652d15998674c2ca2ef8b3bfee8e21a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23" + ], + "description": "hour", + "index": 15, + "layout": "IPY_MODEL_ddd9bc3aa3734febbda661d3e7af1fe3", + "style": "IPY_MODEL_4f22969a64664e9aabda077965af960f" + } + }, + "b7d39ffa254c44a1a53ea6674671fd0d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b8394a07081041eca352b7ad0aa58714": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bac678d7cd8849d380720a9f3e76bfec": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bbf6ca27904d47ec8364181d724c0747": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_8b260fc3f2cb4f709147449baff03e14", + "IPY_MODEL_0a4bd157b89e43559dd73fee0866efef" + ], + "layout": "IPY_MODEL_9f805b7c16364e5d998997c9b67d4279" + } + }, + "be985ee1e03a43f4a2e52ff4a015baf6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "beaea63aea9c42398f54b4628a7330bd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bf0192248c534f0995c4b9f4ce090a69": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bf3fa02febe048ef992990995d7d4a16": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "bfb22336425348ff9dca5d4bd5805a72": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bfb34eb7c08d4498acff2b07ad0e983e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c02ec27b73774540abf679c305fddd22": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c0d633a1c21c46929e790335d5a683c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectModel", + "state": { + "_options_labels": [ + "ALL (5481 depls)", + "4.3 (3398 depls)", + "4.4 (1209 depls)", + "4.2 ( 818 depls)", + "nan ( 51 depls)", + "4.5 ( 4 depls)", + "4.1 ( 1 depls)" + ], + "description": "Major.Minor", + "index": 1, + "layout": "IPY_MODEL_f7324875a8664097a26ae578808f66d3", + "style": "IPY_MODEL_ad8dc5aeea494acfa5c571a5bcde362f" + } + }, + "c14b31d26f3946e7b33c47fa30fd1caf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c1a3b359ec14434ab5396341bee6c113": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "c303e07725a74136ab3bd345c1ea7542": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c375ee0c5d2848928ec8fbb4ed3e25b2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "c540dc184e134b9584fcacc08d48a00b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c808e898c71540188379814824eb5a40": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_1f73cc572f2b46d984727b23e2458407" + } + }, + "c887cabc21fd4909bab5e178fb3c2645": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c99b35ec1eeb4cb49d505d84a048d9ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ca61e1105ae5426d8a761db8a23fbd96": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cc3aaf470fa64b11b4944d847863b8c3": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_09aa7277a98b45689cab3b76ee7d60fc" + } + }, + "cc4291f8495141af8c047ff5cef6d91d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cc8570bbb92143dcbc1994888d2d1a28": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_fee98e2d97c94175955d5fcaf864be8c" + } + }, + "cd48f3cbb70646519a2bee4a09199719": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ce58e0d56eb04be4b1953ea41a33248a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_3e8cf3da0b014c509986912fd7f3e2ec", + "IPY_MODEL_2d17162ea04348aea6c27eefe641d96b", + "IPY_MODEL_9943c7af97c043929d9b11f96d2b1493", + "IPY_MODEL_7d4193232f4e4f33a2bd8a872cff8b8c", + "IPY_MODEL_5d409f20e37c44ef98448c35ecb801b9", + "IPY_MODEL_247fd31698f84c5888e7f40f95f6cf32", + "IPY_MODEL_234ba692853b41e895f5e1622ceaa860", + "IPY_MODEL_82cf3f7658e9401bb625b1995f95104a" + ], + "layout": "IPY_MODEL_8c4a13a70e0149ddab3a8227905875b7" + } + }, + "ce8e85f5948e4ca99e7fd19f2e620e50": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cf3ca8357320446a85819782e4f59173": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d219194e639e4b52a3be19a5bbc16c15": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d23e45c825754b13804e16973fc401ed": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d2dbf20e152c489992af7042b473c234": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectMultipleModel", + "state": { + "_options_labels": [ + "4.3.0", + "4.3.0-0.ci-2020-06-02-135046", + "4.3.0-0.ci-2020-06-02-143046", + "4.3.0-0.ci-2020-06-02-173709", + "4.3.0-0.nightly-2019-10-18-120524", + "4.3.0-0.nightly-2019-12-11-073659", + "4.3.0-0.nightly-2019-12-18-215416", + "4.3.0-0.nightly-2020-01-20-183918", + "4.3.0-0.nightly-2020-03-10-182422", + "4.3.0-0.nightly-2020-05-03-171510", + "4.3.0-0.nightly-2020-06-01-225519", + "4.3.0-0.nightly-ppc64le-2020-01-29-170954", + "4.3.0-0.nightly-ppc64le-2020-03-02-144601", + "4.3.0-0.nightly-ppc64le-2020-03-11-144705", + "4.3.0-0.nightly-ppc64le-2020-04-29-064539", + "4.3.0-0.nightly-s390x-2020-04-20-185529", + "4.3.0-0.okd-2020-05-07-035413", + "4.3.0-rc.2", + "4.3.1", + "4.3.10", + "4.3.11", + "4.3.12", + "4.3.13", + "4.3.16", + "4.3.17", + "4.3.18", + "4.3.19", + "4.3.2", + "4.3.21", + "4.3.22", + "4.3.23", + "4.3.3", + "4.3.5", + "4.3.8", + "4.3.9" + ], + "description": "Patches", + "index": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ], + "layout": "IPY_MODEL_54bf259fda584e60b1d867c1a976442e", + "rows": 5, + "style": "IPY_MODEL_ae529b20bee0477bb5c28729873e4ba0" + } + }, + "d7141cb6d13944c2a9eded9c1c3274d5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d824eea7c0cf43ceabcb45a3994f41b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d97896255c834f4dbc7de3f73e62755e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_90634dc50c834af3a188cf0ece5ccb33", + "IPY_MODEL_1ae91e63be8140f1bffb7706ab2aff8e" + ], + "layout": "IPY_MODEL_06da8f71ff134812a21c67802199be9e" + } + }, + "dad8a49e772c4d30a135a257d4dbef6f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "db880df5afce4691b772cee91a4ba643": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectMultipleModel", + "state": { + "_options_labels": [ + "4.3.0", + "4.3.0-0.ci-2020-06-02-135046", + "4.3.0-0.ci-2020-06-02-143046", + "4.3.0-0.ci-2020-06-02-173709", + "4.3.0-0.nightly-2019-10-18-120524", + "4.3.0-0.nightly-2019-12-11-073659", + "4.3.0-0.nightly-2019-12-18-215416", + "4.3.0-0.nightly-2020-01-20-183918", + "4.3.0-0.nightly-2020-03-10-182422", + "4.3.0-0.nightly-2020-05-03-171510", + "4.3.0-0.nightly-2020-06-01-225519", + "4.3.0-0.nightly-ppc64le-2020-01-29-170954", + "4.3.0-0.nightly-ppc64le-2020-03-02-144601", + "4.3.0-0.nightly-ppc64le-2020-03-11-144705", + "4.3.0-0.nightly-ppc64le-2020-04-29-064539", + "4.3.0-0.nightly-s390x-2020-04-20-185529", + "4.3.0-0.okd-2020-05-07-035413", + "4.3.0-rc.2", + "4.3.1", + "4.3.10", + "4.3.11", + "4.3.12", + "4.3.13", + "4.3.16", + "4.3.17", + "4.3.18", + "4.3.19", + "4.3.2", + "4.3.21", + "4.3.22", + "4.3.23", + "4.3.3", + "4.3.5", + "4.3.8", + "4.3.9" + ], + "description": "Patches", + "index": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ], + "layout": "IPY_MODEL_feef3dc9f7a94179bc95d8790afbe2c0", + "rows": 5, + "style": "IPY_MODEL_a52a2575806a4b5b9148a37f63e23f92" + } + }, + "dd642809f71d44e1966a6babff3a6107": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_db880df5afce4691b772cee91a4ba643", + "IPY_MODEL_a87dfae7516348c0b4ca8ab465aa93c3" + ], + "layout": "IPY_MODEL_9a0e46d0873345069806aea914731004" + } + }, + "ddd9bc3aa3734febbda661d3e7af1fe3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e23dd20f3ef5412f9836ef33b8ec3a23": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "e25cd51d19144481a974d4bc5fe103f4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "e411802bf7d54a60b7c07bf071d887dc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "e4cf6908010c4ef6bdc3d73bd3108607": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_eb15d5d251484509a44ac03da397b194", + "IPY_MODEL_ab87ed80a8dc43debbce6da37480a225" + ], + "layout": "IPY_MODEL_823cc6a2b4394018b5cd4aefa6898ad9" + } + }, + "e64adc78c7b84ce38ed815895d856e3c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e693bacadcf844b78f22da39d7d1c9cb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e716dfcee177434aaf02b2a64d29e704": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_d2dbf20e152c489992af7042b473c234", + "IPY_MODEL_70f526958ba9481ca272672460fc998e" + ], + "layout": "IPY_MODEL_9dfadd5d91394284be17ec3b8c93d538" + } + }, + "e78e9d3b11c24b1a9b24917c9627665c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Run Interact", + "layout": "IPY_MODEL_ce8e85f5948e4ca99e7fd19f2e620e50", + "style": "IPY_MODEL_2f476652b58f48d78fbed8429946aa5c" + } + }, + "e7f3f30b09b84c918e6983d96296b643": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e8527e57f8104e6aabca48c68173d82b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e9d30cea8bdf41b795e8cbffea49d58f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e9fab5f63d5b40f998ac866ffd46585a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ea2ad544a3084cc7a2285fd6ce16aec4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "eac023e292da4a50ae78355829146cda": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59" + ], + "description": "minute", + "index": 0, + "layout": "IPY_MODEL_f461a918328a4f64963ee3f2d11bf55d", + "style": "IPY_MODEL_b22fc2eda98f4a578dea6d43b95a1809" + } + }, + "eb15d5d251484509a44ac03da397b194": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SelectModel", + "state": { + "_options_labels": [ + "ALL (5481 depls)", + "4.3 (3398 depls)", + "4.4 (1209 depls)", + "4.2 ( 818 depls)", + "nan ( 51 depls)", + "4.5 ( 4 depls)", + "4.1 ( 1 depls)" + ], + "description": "Major.Minor", + "index": 1, + "layout": "IPY_MODEL_bfb22336425348ff9dca5d4bd5805a72", + "style": "IPY_MODEL_34ce71863cfa44d1902491254aaeb417" + } + }, + "ec3731d9f26440f083b890b81e75b3df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "f461a918328a4f64963ee3f2d11bf55d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f6f7c924e22e46f59aa1ab2be5fd8b5f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "2020", + "2019", + "2018", + "2017", + "2016", + "2015", + "2014", + "2013", + "2012", + "2011" + ], + "description": "year", + "index": 0, + "layout": "IPY_MODEL_d23e45c825754b13804e16973fc401ed", + "style": "IPY_MODEL_8951fbb8828c461a87ccec8bd2c34c6c" + } + }, + "f7324875a8664097a26ae578808f66d3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f8d44ba0dbd1432dbf391f0294657cc5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "f99bc377b2fa4b1287dbf170ee088c5e": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "layout": "IPY_MODEL_c14b31d26f3946e7b33c47fa30fd1caf" + } + }, + "f9ba5c0e308641b2a8c4958be06a417e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_62cf41cd64ce4c21a042f05258b91b74", + "IPY_MODEL_623e8b2d4a2244bebebcb7215fca3f27", + "IPY_MODEL_a52337d4feee4c67b30b1e68ab1a9c5b" + ], + "layout": "IPY_MODEL_3e3c4f5886f0404b94fe71e40e4581cc" + } + }, + "fbdea7e9f60d459da08d8786e61f9a1e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "children": [ + "IPY_MODEL_56d7029d112f4f0db07e59fee35b2d78", + "IPY_MODEL_50741f99b224484a964448776dc2d94c", + "IPY_MODEL_aef0019e864646bfa9349e36dfc13ebf", + "IPY_MODEL_92297dc57c2b4cfa9d3bc8f944a40827", + "IPY_MODEL_1d93d2e351c342b59cfe0aac70a541fe", + "IPY_MODEL_88b75b8be6734912b7bda3750750f6b9", + "IPY_MODEL_0096f59a6ff5415b80bdb30b462b1b1b", + "IPY_MODEL_03c3b6f8963148c5807aa0884fe6a5e8" + ], + "layout": "IPY_MODEL_beaea63aea9c42398f54b4628a7330bd" + } + }, + "fcbb5c7b5c02442c92f929c921c27b72": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "fee98e2d97c94175955d5fcaf864be8c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "feef3dc9f7a94179bc95d8790afbe2c0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + } + }, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/reports/figures/dbscan_0.325_5_20201203_1611765763.html b/reports/figures/dbscan_0.325_5_20201203_1611765763.html new file mode 100644 index 0000000..ab4538d --- /dev/null +++ b/reports/figures/dbscan_0.325_5_20201203_1611765763.html @@ -0,0 +1,67 @@ + + + +
+
+ + diff --git a/reports/figures/symptoms_hamming_all_diagnoses_20201203_1611765763.html b/reports/figures/symptoms_hamming_all_diagnoses_20201203_1611765763.html new file mode 100644 index 0000000..db1a983 --- /dev/null +++ b/reports/figures/symptoms_hamming_all_diagnoses_20201203_1611765763.html @@ -0,0 +1,67 @@ + + + +
+
+ +