The profile middleware provide a tool to profile Swift code on the fly and collect statistic data for performance analysis. An native simple Web UI is also provided to help query and visualize the data. Change-Id: I6a1554b2f8dc22e9c8cd20cff6743513eb9acc05 Implements: blueprint profiling-middleware
3.9 KiB
Middleware
Account Quotas
swift.common.middleware.account_quotas
Bulk Operations (Delete and Archive Auto Extraction)
swift.common.middleware.bulk
CatchErrors
swift.common.middleware.catch_errors
CNAME Lookup
swift.common.middleware.cname_lookup
Container Quotas
swift.common.middleware.container_quotas
Container Sync Middleware
swift.common.middleware.container_sync
Cross Domain Policies
swift.common.middleware.crossdomain
Discoverability
Swift will by default provide clients with an interface providing
details about the installation. Unless disabled (i.e
expose_info=false
in proxy-server-config
), a GET request to
/info
will return configuration data in JSON format. An
example response:
{"swift": {"version": "1.11.0"}, "staticweb": {}, "tempurl": {}}
This would signify to the client that swift version 1.11.0 is running and that staticweb and tempurl are available in this installation.
There may be administrator-only information available via
/info
. To retrieve it, one must use an HMAC-signed request,
similar to TempURL. The signature may be produced like so:
swift-temp-url GET 3600 /info secret 2>/dev/null | sed s/temp_url/swiftinfo/g
Domain Remap
swift.common.middleware.domain_remap
Dynamic Large Objects
swift.common.middleware.dlo
FormPost
swift.common.middleware.formpost
GateKeeper
swift.common.middleware.gatekeeper
Healthcheck
swift.common.middleware.healthcheck
KeystoneAuth
swift.common.middleware.keystoneauth
List Endpoints
swift.common.middleware.list_endpoints
Memcache
swift.common.middleware.memcache
Name Check (Forbidden Character Filter)
swift.common.middleware.name_check
Proxy Logging
swift.common.middleware.proxy_logging
Ratelimit
swift.common.middleware.ratelimit
Recon
swift.common.middleware.recon
Static Large Objects
swift.common.middleware.slo
StaticWeb
swift.common.middleware.staticweb
TempAuth
swift.common.middleware.tempauth
TempURL
swift.common.middleware.tempurl
XProfile
swift.common.middleware.xprofile