-
Notifications
You must be signed in to change notification settings - Fork 634
[microsoft_sqlserver] Add performance DataStream #3391
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
ManojS-shetty
merged 73 commits into
elastic:main
from
ManojS-shetty:mssql-generic-datastream-v1
Jun 14, 2022
Merged
Changes from all commits
Commits
Show all changes
73 commits
Select commit
Hold shift + click to select a range
7e04ba3
Quick & Dirty MSSQL ImportBeats run and verified to be running fine.
lalit-satapathy a2e08ef
System Test for MS-SQL imported package prelim version
ManojS-shetty aa07809
System Test for MS-SQL imported package prelim version1
ManojS-shetty 87f649d
Merge pull request #1 from ManojS-shetty/manoj-mssql-systemtest
lalit-satapathy 26c1bf7
working prelims- MSSQL Integration System Test
ManojS-shetty e60bdc2
performance datastream working with 8.3.0-SNAPSHOT elastic agent
ManojS-shetty 8839f50
added mappings to fields.yml file in performance
ManojS-shetty 8dcbdfa
MSSQL Performance Dashboards with new Mapping
ManojS-shetty fc4cf2b
Added the Dynamic Metrics change to handlebar for performance
ManojS-shetty 1b17375
Added TRIM functionality in the Performance query and remapped the Pe…
ManojS-shetty d968eaf
Added the change for naming and description in fields.yml
ManojS-shetty e68e631
Deleted transaction_log old dashboard
ManojS-shetty 0c7104c
Changes to perf dashboard
ManojS-shetty b020f7c
Updated changelog.yml
ManojS-shetty 6623b25
Updated manifest.yml
ManojS-shetty b3ba674
added changes to manifest.yml in top level for title and description
ManojS-shetty 969ab2c
Merge branch 'sql-generic-datastream-ver1' of https://github.com/Mano…
ManojS-shetty 4fbc88e
Updated changelog.yml
ManojS-shetty 03a8bcb
updated Changelog.yml and manifest.yml
ManojS-shetty 1b511ac
Updated a comment for hosts
ManojS-shetty b413b66
removed the extra line
ManojS-shetty 8267971
added transaction dashboard screenshot image
ManojS-shetty 67012d4
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty 2468ea7
Merge branch 'main' into mssql-generic-datastream-v1
ManojS-shetty b5bb3a4
Reverted codeowner value in manifest
ManojS-shetty 9338624
deleted system test chnages
ManojS-shetty 60cecb2
Updated the format in the files
ManojS-shetty c7e8394
Formatted fields yaml file
ManojS-shetty 5115281
Added new sql performance query and changed the field yaml mapping ac…
ManojS-shetty 6dc29a2
deleted system test case for now
ManojS-shetty 2649ea7
Added handling of named instance for perf DataStream
ManojS-shetty ecb0544
Removed the visualization in kibana directory
ManojS-shetty 72c31e9
Maintained consistency in visualization panels
ManojS-shetty 0ef5136
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty 510f141
Updated the consistency in naming conventions for perf
ManojS-shetty 7329490
Formatting fields yaml file
ManojS-shetty db0ba0e
Added system Integration test for perf datastream
ManojS-shetty 5b35246
Formatting docker compose file
ManojS-shetty fe92d0d
Formatting test config yaml file
ManojS-shetty 6cfa504
fixed formatting issue in test yaml file
ManojS-shetty 2993ae4
Updated changelog.yml
ManojS-shetty f4c79d3
Adding README and sample event json files
ManojS-shetty e61f57d
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty dbd2e10
Fixed formatting in sample event json for perf
ManojS-shetty 42e1550
Updated the kibana version in manifest file
ManojS-shetty 8de36fe
Chnaged the kibana version for compatibality
ManojS-shetty 94fc551
Added the dynamic counter name change
ManojS-shetty 3765de1
Perfomance dashboard checked in with naming consistency
ManojS-shetty e10bc1b
Added documentation change to README
ManojS-shetty 3b748bf
Added manifest changes
ManojS-shetty 80dd2be
Added README file changes
ManojS-shetty f360401
Merge branch 'main' into mssql-generic-datastream-v1
ManojS-shetty a4ecfaf
Adding build yaml file
ManojS-shetty 8b03857
Added 1.0.1 version to manifest and changelog entry
ManojS-shetty 14efc44
Changed the kibana version for backaward compatibality
ManojS-shetty e5d6b24
Changed back the kibana version
ManojS-shetty 78a7c69
Merge branch 'main' of https://github.com/elastic/integrations into m…
ManojS-shetty a573651
Revert "Deleted transaction_log old dashboard"
ManojS-shetty 6d4f71f
Added ingest pipeline for renaming sql to mssql
ManojS-shetty f9e3d37
Deleted the transaction logs visualisation and dashboard to avoid the…
ManojS-shetty 77928a1
Removed SNAPSHOT in version from perf dashboard
ManojS-shetty 61ce6eb
changed the visualisation from by reference to by value
ManojS-shetty 653ca72
Adding new image of performance dashboard
ManojS-shetty 17e4d24
Delete microsoft-sqlserver-performance-dashboard.png
ManojS-shetty 1d9647d
Updated fields and manifest yaml file
ManojS-shetty b04a4b5
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty 4856809
Removed Snapshot from the dashboard file
ManojS-shetty b6d860a
Added few changes like ECS import and driver field removal
ManojS-shetty a42c209
Added default yaml file in ingest pipeline
ManojS-shetty 8e0efd8
Keeping policy template name to previous value
ManojS-shetty 8dff4c7
Removed Query
ManojS-shetty 18f2a40
Adding new sample_event file
ManojS-shetty e2770c5
Updated the comments
ManojS-shetty File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| dependencies: | ||
| ecs: | ||
| reference: git@v8.2.0 | ||
| reference: git@v8.2.1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| ARG IMAGE=${IMAGE:-mcr.microsoft.com/mssql/server:2019-latest} | ||
| FROM ${IMAGE} | ||
|
|
||
| ENV ACCEPT_EULA='Y' | ||
| ENV SA_PASSWORD='1234_asdf' | ||
|
|
||
| # Use the same healthcheck as the Windows version of the image. | ||
| # https://github.com/Microsoft/mssql-docker/blob/a3020afeec9be1eb2d67645ac739438eb8f2c545/windows/mssql-server-windows/dockerfile#L31 | ||
| HEALTHCHECK --interval=1s --retries=90 CMD /opt/mssql-tools/bin/sqlcmd -U SA -P ${SA_PASSWORD} -Q "select 1" | ||
10 changes: 10 additions & 0 deletions
10
packages/microsoft_sqlserver/_dev/deploy/docker/docker-compose.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| version: '2.3' | ||
| services: | ||
| microsoft_sqlserver: | ||
| image: mcr.microsoft.com/mssql/server:2019-latest | ||
| build: | ||
| context: . | ||
| args: | ||
| MSSQL_VERSION: ${MSSQL_VERSION:-2019-latest} | ||
| ports: | ||
| - 1433 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| variants: | ||
| MSSQL_2019-latest: | ||
| IMAGE: 2019-latest | ||
| default: 2019-latest |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
packages/microsoft_sqlserver/data_stream/performance/_dev/test/system/test-perf-config.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| vars: | ||
| hosts: | ||
| - "{{Hostname}}" | ||
| username: sa | ||
| password: 1234_asdf |
44 changes: 44 additions & 0 deletions
44
packages/microsoft_sqlserver/data_stream/performance/agent/stream/stream.yml.hbs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| metricsets: ["query"] | ||
| # Specify hosts in the below format. TODO: hosts need to be updated to support multiple entries. | ||
| hosts: | ||
| - sqlserver://{{username}}:{{password}}@{{hosts}}:{{port}} | ||
| period: {{period}} | ||
| raw_data.enabled: true | ||
| # Below dynamic_counter_name handles the dynamic counter name passing it to SQL query | ||
| dynamic_counter_name: {{dynamic_counter_name}} | ||
| driver: "mssql" | ||
| sql_queries: | ||
|
ManojS-shetty marked this conversation as resolved.
|
||
| - query: "SELECT cntr_value As 'user_connections' FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'active_temp_tables' FROM sys.dm_os_performance_counters WHERE counter_name = 'Active Temp Tables' AND object_name like '%General Statistics%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'buffer_cache_hit_ratio' FROM sys.dm_os_performance_counters WHERE counter_name = 'Buffer cache hit ratio' AND object_name like '%Buffer Manager%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'page_splits_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Page splits/sec'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'lock_waits_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Lock Waits/sec' AND instance_name = '_Total'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'compilations_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'SQL Compilations/sec'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'batch_requests_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Batch Requests/sec'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'buffer_checkpoint_pages_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Checkpoint pages/sec' AND object_name like '%Buffer Manager%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'buffer_database_pages' FROM sys.dm_os_performance_counters WHERE counter_name = 'Database pages' AND object_name like '%Buffer Manager%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'buffer_page_life_expectancy' FROM sys.dm_os_performance_counters WHERE counter_name = 'Page life expectancy' AND object_name like '%Buffer Manager%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'buffer_target_pages' FROM sys.dm_os_performance_counters WHERE counter_name = 'Target pages' AND object_name like '%Buffer Manager%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'connection_reset_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Connection Reset/sec' AND object_name like '%Buffer Manager%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'logins_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Logins/sec' AND object_name like '%General Statistics%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'logouts_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Logouts/sec' AND object_name like '%General Statistics%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 'transactions' FROM sys.dm_os_performance_counters WHERE counter_name = 'Transactions' AND object_name like '%General Statistics%'" | ||
| response_format: table | ||
| - query: "SELECT cntr_value As 're_compilations_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'SQL Re-Compilations/sec'" | ||
| response_format: table | ||
| - query: "SELECT counter_name As 'dynamic_counter.name', cntr_value As 'dynamic_counter.value' FROM sys.dm_os_performance_counters WHERE counter_name= '{{dynamic_counter_name}}'" | ||
| response_format: table | ||
20 changes: 20 additions & 0 deletions
20
...ges/microsoft_sqlserver/data_stream/performance/elasticsearch/ingest_pipeline/default.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| description: Pipeline for processing mssql performance | ||
| processors: | ||
| - remove: | ||
| field: sql.driver | ||
| ignore_missing: true | ||
| ignore_failure: true | ||
| - remove: | ||
| field: sql.query | ||
| ignore_missing: true | ||
| ignore_failure: true | ||
| - rename: | ||
| field: sql | ||
| target_field: mssql | ||
| ignore_missing: true | ||
| ignore_failure: true | ||
| on_failure: | ||
| - set: | ||
| field: error.message | ||
| value: "{{ _ingest.on_failure_message }}" |
8 changes: 8 additions & 0 deletions
8
packages/microsoft_sqlserver/data_stream/performance/fields/base-fields.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| - name: data_stream.type | ||
| external: ecs | ||
| - name: data_stream.dataset | ||
| external: ecs | ||
| - name: data_stream.namespace | ||
| external: ecs | ||
| - name: '@timestamp' | ||
| external: ecs |
6 changes: 6 additions & 0 deletions
6
packages/microsoft_sqlserver/data_stream/performance/fields/ecs.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| - external: ecs | ||
| name: ecs.version | ||
| - external: ecs | ||
| name: service.address | ||
| - external: ecs | ||
| name: service.type |
70 changes: 70 additions & 0 deletions
70
packages/microsoft_sqlserver/data_stream/performance/fields/fields.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| - name: mssql | ||
| type: group | ||
| release: beta | ||
| fields: | ||
| - name: metrics | ||
| type: group | ||
| fields: | ||
| - name: page_splits_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Number of page splits per second that occur as the result of overflowing index pages. | ||
| - name: lock_waits_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Number of lock requests per second that required the caller to wait. | ||
| - name: user_connections | ||
| type: long | ||
| description: Total number of user connections. | ||
| - name: active_temp_tables | ||
| type: long | ||
| description: Number of temporary tables/table variables in use. | ||
| - name: transactions | ||
| type: long | ||
| description: Total number of transactions | ||
| - name: connection_reset_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Total number of logins started per second from the connection pool. | ||
| - name: logins_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Total number of logins started per second. This does not include pooled connections. | ||
| - name: logouts_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
|
ManojS-shetty marked this conversation as resolved.
|
||
| description: Total number of logout operations started per second. | ||
| - name: re_compilations_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Number of statement recompiles per second. Counts the number of times statement recompiles are triggered. Generally, you want the recompiles to be low. | ||
| - name: compilations_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Number of SQL compilations per second. Indicates the number of times the compile code path is entered. Includes compiles caused by statement-level recompilations in SQL Server. After SQL Server user activity is stable, this value reaches a steady state. | ||
| - name: batch_requests_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Number of Transact-SQL command batches received per second. This statistic is affected by all constraints (such as I/O, number of users, cache size, complexity of requests, and so on). High batch requests mean good throughput. | ||
| - name: buffer_cache_hit_ratio | ||
| type: double | ||
| description: The ratio is the total number of cache hits divided by the total number of cache lookups over the last few thousand page accesses. After a long period of time, the ratio moves very little. Because reading from the cache is much less expensive than reading from disk, you want this ratio to be high. | ||
| - name: buffer_page_life_expectancy | ||
| type: long | ||
| description: Indicates the number of seconds a page will stay in the buffer pool without references (in seconds). | ||
| - name: buffer_checkpoint_pages_per_sec | ||
| type: float | ||
| metric_type: gauge | ||
| description: Indicates the number of pages flushed to disk per second by a checkpoint or other operation that require all dirty pages to be flushed. | ||
| - name: buffer_database_pages | ||
| type: long | ||
| description: Indicates the number of pages in the buffer pool with database content. | ||
| - name: buffer_target_pages | ||
| type: long | ||
| description: Ideal number of pages in the buffer pool. | ||
| - name: dynamic_counter.value | ||
| type: long | ||
| description: Dynamic counter value is fetched from performance table for the dynamic counter name which is provided by user. | ||
| - name: dynamic_counter.name | ||
| type: keyword | ||
| description: Dynamic counter name is given by user. | ||
24 changes: 24 additions & 0 deletions
24
packages/microsoft_sqlserver/data_stream/performance/manifest.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| type: metrics | ||
| title: Microsoft SQL Server performance metrics | ||
| release: beta | ||
| streams: | ||
| - input: sql/metrics | ||
|
ManojS-shetty marked this conversation as resolved.
|
||
| enabled: false | ||
| vars: | ||
| - name: period | ||
| type: text | ||
| title: Period | ||
| multi: false | ||
| required: true | ||
| show_user: true | ||
| default: 60s | ||
| - name: dynamic_counter_name | ||
| type: text | ||
| title: Dynamic Counter Name | ||
| multi: false | ||
| required: false | ||
| show_user: true | ||
| default: Memory Grants Pending | ||
| description: Collect the dynamic counter value for the provided counter name from the performance table. | ||
| title: Microsoft SQL Server performance metrics | ||
| description: Collect Microsoft SQL Server performance metrics | ||
79 changes: 79 additions & 0 deletions
79
packages/microsoft_sqlserver/data_stream/performance/sample_event.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| { | ||
| "@timestamp": "2022-06-08T13:35:05.558Z", | ||
| "agent": { | ||
| "ephemeral_id": "16ad2de8-8ba3-496f-98d1-cbe19441c168", | ||
| "id": "848cea0e-c052-49b3-983d-64e13d3b9a6f", | ||
| "name": "docker-fleet-agent", | ||
| "type": "metricbeat", | ||
| "version": "8.3.0" | ||
| }, | ||
| "cloud": { | ||
| "account": {}, | ||
| "instance": { | ||
| "id": "b30e45e6-7900-4900-8d67-e37cb13374bc", | ||
| "name": "obs-int-windows-dev" | ||
| }, | ||
| "machine": { | ||
| "type": "Standard_D16ds_v5" | ||
| }, | ||
| "provider": "azure", | ||
| "region": "CentralIndia", | ||
| "service": { | ||
| "name": "Virtual Machines" | ||
| } | ||
| }, | ||
| "data_stream": { | ||
| "dataset": "microsoft_sqlserver.performance", | ||
| "namespace": "ep", | ||
| "type": "metrics" | ||
| }, | ||
| "ecs": { | ||
| "version": "8.0.0" | ||
| }, | ||
| "elastic_agent": { | ||
| "id": "848cea0e-c052-49b3-983d-64e13d3b9a6f", | ||
| "snapshot": true, | ||
| "version": "8.3.0" | ||
| }, | ||
| "event": { | ||
| "agent_id_status": "verified", | ||
| "dataset": "microsoft_sqlserver.performance", | ||
| "duration": 7151724, | ||
| "ingested": "2022-06-08T13:35:06Z", | ||
| "module": "sql" | ||
| }, | ||
| "host": { | ||
| "architecture": "x86_64", | ||
| "containerized": true, | ||
| "hostname": "docker-fleet-agent", | ||
| "ip": [ | ||
| "172.18.0.4" | ||
| ], | ||
| "mac": [ | ||
| "02:42:ac:12:00:04" | ||
| ], | ||
| "name": "docker-fleet-agent", | ||
| "os": { | ||
| "codename": "focal", | ||
| "family": "debian", | ||
| "kernel": "5.10.16.3-microsoft-standard-WSL2", | ||
| "name": "Ubuntu", | ||
| "platform": "ubuntu", | ||
| "type": "linux", | ||
| "version": "20.04.4 LTS (Focal Fossa)" | ||
| } | ||
| }, | ||
| "metricset": { | ||
| "name": "query", | ||
| "period": 60000 | ||
| }, | ||
| "mssql": { | ||
| "metrics": { | ||
| "user_connections": 1 | ||
| } | ||
| }, | ||
| "service": { | ||
| "address": "elastic-package-service-microsoft_sqlserver-1:1433", | ||
| "type": "sql" | ||
| } | ||
| } |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.