Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add workload and service dashboard #6789

Merged
merged 6 commits into from Jul 3, 2018
Merged

Conversation

douglas-reid
Copy link
Contributor

@douglas-reid douglas-reid commented Jul 2, 2018

This PR refactors the existing grafana dashboards in the following manner:

  • Adds a "service" dashboard that focuses on displaying info relevant to service consumers.
  • Adds a "workload" dashboard that focuses on incoming workloads and outgoing service calls.
  • Sets-up the "mesh" dashboard to consist of tables that link to individual dashboards.

The new dashboards themselves are not segmented into separate dashboards for TCP and HTTP/GRPC any more. As a TCP service may make HTTP calls out, and vice-versa, that distinction would lead to a lot of duplication and (even more) complexity. In the future, we can use the bandwidth placeholders to report TCP stats for HTTP services as well.

This PR also updates the newly committed "conditional" in favor of "conditionalString".

There are several known issues exposed by this PR:

  • destination.service.host is being set to unknown for all TCP calls (client and server).
  • connection.mtls is set to false for reporter="client" calls. This will need documentation.

Screenshots:

mesh-dash-top
mesh-bottom-dash
service-dash-top
service-dash-bottom
tcp-client-workload-dash
tcp-workload-dash
workload-middle-dash
workload-bottom-dash

@@ -558,7 +558,7 @@ spec:
- destination_workload_namespace
- destination_version
- destination_service
- destination_service_name
- destination_service_nam e
Copy link
Contributor

Choose a reason for hiding this comment

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

destination_service_nam e ? left by mistake?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yikes. thanks.

@codecov
Copy link

codecov bot commented Jul 2, 2018

Codecov Report

Merging #6789 into master will decrease coverage by 1%.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master   #6789    +/-   ##
=======================================
- Coverage      71%     71%   -<1%     
=======================================
  Files         367     367            
  Lines       31756   31498   -258     
=======================================
- Hits        22465   22280   -185     
+ Misses       8393    8320    -73     
  Partials      898     898
Impacted Files Coverage Δ
pilot/pkg/config/memory/monitor.go 82% <0%> (-9%) ⬇️
mixer/adapter/solarwinds/metrics_handler.go 70% <0%> (-6%) ⬇️
mixer/adapter/bypass/util.go 3% <0%> (-3%) ⬇️
mixer/adapter/circonus/circonus.go 71% <0%> (-3%) ⬇️
mixer/adapter/bypass/bypass.go 62% <0%> (-1%) ⬇️
mixer/adapter/cloudwatch/handler.go 87% <0%> (ø) ⬇️
mixer/adapter/fluentd/fluentd.go 76% <0%> (ø) ⬇️
mixer/adapter/statsd/statsd.go 96% <0%> (ø) ⬇️
mixer/adapter/denier/denier.go 100% <0%> (ø) ⬆️
mixer/adapter/stdio/stdio.go 100% <0%> (ø) ⬆️
... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bf41c2b...1d2cc06. Read the comment docs.

@douglas-reid douglas-reid requested review from jeffmendoza, mandarjog, kyessenov and bianpengyuan and removed request for guptasu, ijsnellf and ldemailly July 2, 2018 22:30
@kyessenov
Copy link
Contributor

@rshriram we're observing that plugins do not receive service in the plugins for TCP listeners. Any idea?

@jeffmendoza
Copy link
Contributor

/lgtm

@istio-testing
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: douglas-reid, jeffmendoza

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hklai
Copy link
Contributor

hklai commented Jul 3, 2018

Merging this manually. We are creating 1.0 branch at this SHA.

@hklai hklai merged commit ff97924 into istio:master Jul 3, 2018
istio-testing pushed a commit that referenced this pull request Jul 7, 2018
* Introducing mcpc, a command-line  mcp client tool. (#6715)

* Set default requests cpu resource to all deployments (#6229)

* Set default requests cpu resource to all deployments

* Description added

* Requested CPU decreased to meet test env node capacity

* Setting requested cpu to 10m as most k8s platforms are defaulting to 0m

* Merge master remains

* Apply the global resources to the new gateways

* Updated goldens to cpu 10m

* Clean up and rename the global default resources

* Redundant Redis servers were removed + defer in a loop is not recommended. (#6768)

* Fix upgrade. (#6792)

* Fix upgrade.

* Format

* Move back the fail close - not clear if we have time to get mixer client in this build, we can remove in next

* Add configuration to allow transformation of durations to integers. (#5416)

The fluentd handler currently transforms durations to their string
representation for log messages. This commit adds a configuration to
override this default behaviour and tranform durations to integers of
unit millisecond.

* Add workload and service dashboard (#6789)

* Add workload and service dashboard

* fix typo

* Skip service dash e2e test for now

* Add rushed, missed workload dash

* Touch up

* Commenting out test until can replicate locally and fix

* simplify fmt script (#6798)

* simplify fmt script

- goimports is a superset of gofmt
- shouldn't need to remove spaces
- now utilizing -l flag to tell us if there is a diff

* always update gofmt to latest

* spacing that is now considered incorrect

* support hash based routing for soft session affinity (#6742)

* support sticky sessions

* fmt :(

* update servicediscovery fakes

* bump istio/api

* use updated api for ring hash

* support session affinity for sidecar

* update destination rule yaml to reflect new api

* ttl is a string

* unset sdsUdsPath in configmap (#6799)

* fix bug so that destination.service.** attributes are collected (#6801)

* remove unnecessary generated attributes finding. (#6785)

* modify docker template files for proxyv2 (#6790)

* Long-running testing improvements (#6800)

* Add values for config map settings, including access log.
More docs.

* Updates and improvements for the stress-testing configs.

* Add values for config map settings, including access log. (#6797)

* Add values for config map settings, including access log.
More docs.

* Updates and improvements for the stress-testing configs.

* Address review comments

* Merged wrong files

* Add the setup helm file - this change now depend on the previous PR.

* Sync with remote, remove accidentally added files.

* Another accidental file

* SNI routing from sidecar to gateway with virtual services (#6402)

* quick sni matching 1st pass with no refactoring of existing code

* use shriram's api sha

* quick pass at using tls block

* add some validation

* copyright

* fix lint + remove deadcode

* rename protocol tcp_tls -> tls

* update back to istio/api master

* remove accidentally added test file

* add tls block to gateway logic

* add todos

* basic sni wildcard implementation

* add tcp, fix problems with rbac, matching

* better tcp + tls validation

* address code review comments

* remove out of date comment

* update comments

* fix compile error

* use tcp proxy in tcp routing

* add tcp routing e2e test

* add forgotten vs config file + update description of test

* Comments, bug fixes

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* cleanup gateway tcp test

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* moving networking test yamls

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* tcp/tls tests

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* yaml fixes

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* fix file switcheroo

* port matches

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* fix authN plugin overwriting TLS context

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* more tests - route via egress gateway

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* yaml fixes

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* initialize prom variables

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* split tests

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* final test fix hopefully

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* revert gateway tweaks

Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>

* Add myself back to OWNERS, sort the list alphabetically. (#6830)

* Upload cloudfoundry test result to GCS (#6829)

* Fix typos in command-line output.
@douglas-reid douglas-reid deleted the dash-updates branch September 25, 2018 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants