├── .gitattributes ├── .gitignore ├── OcelotSample ├── AuthenticationAPI │ ├── AuthenticationAPI.csproj │ ├── Controllers │ │ └── PermissionController.cs │ ├── Program.cs │ ├── Properties │ │ ├── PublishProfiles │ │ │ └── FolderProfile.pubxml │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── Common │ ├── ActionHandle.cs │ ├── ActionMessage.cs │ ├── Common.csproj │ └── FeatureController.cs ├── ConfigurationAPI │ ├── ConfigurationAPI.csproj │ ├── Controllers │ │ └── ValuesController.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── DapperPlus │ ├── DapperPlus.csproj │ ├── DapperPlusDB.cs │ └── IDapperPlusDB.cs ├── HisAPI.XUnitTest │ ├── FeeItemRepositoryTest.cs │ └── HisAPI.XUnitTest.csproj ├── HisAPI │ ├── Controllers │ │ ├── FeeItemController.cs │ │ └── HisUserController.cs │ ├── HisAPI.csproj │ ├── Model │ │ ├── DataModel │ │ │ └── FeeItem.cs │ │ └── Repository │ │ │ ├── FeeItemRepository.cs │ │ │ └── IFeeItemRepository.cs │ ├── Program.cs │ ├── Properties │ │ ├── PublishProfiles │ │ │ └── FolderProfile.pubxml │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── dockerfile ├── InfluxDBTool │ ├── App.config │ ├── DateTimeExtentions.cs │ ├── HttpHelper.cs │ ├── InfluxDBClient.cs │ ├── InfluxDBTool.csproj │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── database.ico │ ├── frmInfluxTool.Designer.cs │ ├── frmInfluxTool.cs │ ├── frmInfluxTool.resx │ ├── influx.ico │ ├── influx.png │ ├── packages.config │ └── play.ico ├── LisAPI │ ├── Controllers │ │ └── LisUserController.cs │ ├── LisAPI.csproj │ ├── Program.cs │ ├── Properties │ │ ├── PublishProfiles │ │ │ └── FolderProfile.pubxml │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── dockerfile │ └── wwwroot │ │ └── index.html ├── Ocelot.ConfigEditor │ ├── .bowerrc │ ├── ConfigEditorOptions.cs │ ├── ConfigMiddlewareExtensions.cs │ ├── Editor │ │ ├── Controllers │ │ │ └── EditorController.cs │ │ ├── Models │ │ │ ├── ConfigAction.cs │ │ │ ├── FileReRouteViewModel.cs │ │ │ └── IndexViewModel.cs │ │ └── Views │ │ │ ├── Editor │ │ │ ├── AutoCreate.cshtml │ │ │ ├── CreateReRoute.cshtml │ │ │ ├── EditReRoute.cshtml │ │ │ └── Index.cshtml │ │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ ├── _FileReRoutePartial.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ ├── FileReRouteExtensions.cs │ ├── FileReRouteValidator.cs │ ├── IReloadService.cs │ ├── LocalhostRouteConstraint.cs │ ├── NamespaceConstraint.cs │ ├── Ocelot.ConfigEditor.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── ReloadService.cs │ ├── RouteContextExtensions.cs │ ├── ViewLocationMapper.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bower.json │ ├── bundleconfig.json │ └── wwwroot │ │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap.css │ │ ├── site.css │ │ └── site.min.css │ │ ├── favicon.ico │ │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── js │ │ ├── bootstrap.js │ │ ├── notify.js │ │ ├── notify.min.js │ │ ├── site.js │ │ └── site.min.js │ │ └── lib │ │ ├── bootstrap │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── dist │ │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ └── npm.js │ │ ├── jquery-validation-unobtrusive │ │ ├── .bower.json │ │ ├── jquery.validate.unobtrusive.js │ │ └── jquery.validate.unobtrusive.min.js │ │ ├── jquery-validation │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ └── dist │ │ │ ├── additional-methods.js │ │ │ ├── additional-methods.min.js │ │ │ ├── jquery.validate.js │ │ │ └── jquery.validate.min.js │ │ ├── jquery │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── dist │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ │ └── jquery.min.map │ │ └── vue │ │ └── dist │ │ └── js │ │ └── vue.min.js ├── Ocelot.JWTAuthorizePolicy │ ├── JwtToken.cs │ ├── Ocelot.JWTAuthorizePolicy.csproj │ ├── OcelotJwtBearerExtension.cs │ ├── Permission.cs │ ├── PermissionHandler.cs │ └── PermissionRequirement.cs ├── OcelotGateway │ ├── OcelotGateway.csproj │ ├── Program.cs │ ├── Properties │ │ ├── PublishProfiles │ │ │ └── FolderProfile.pubxml │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── configuration.json │ ├── tempkey.rsa │ └── wwwroot │ │ └── images │ │ └── gsw.png ├── OcelotSample.sln ├── ServiceControlPanel │ ├── Agent │ │ ├── AgentGovern.cs │ │ ├── Check │ │ │ ├── Check.cs │ │ │ ├── DeregisterCheckParmeter.cs │ │ │ ├── DockerCheck.cs │ │ │ ├── HttpCheck.cs │ │ │ ├── ListChecks.cs │ │ │ ├── RegisterCheckParmeter.cs │ │ │ ├── ScriptCheck.cs │ │ │ ├── TTLCheck.cs │ │ │ ├── TTLCheckOpt.cs │ │ │ ├── TTLCheckUpdate.cs │ │ │ └── TcpCheck.cs │ │ ├── Config.cs │ │ ├── Coord.cs │ │ ├── Counter.cs │ │ ├── Gauge.cs │ │ ├── JoinAgent.cs │ │ ├── ListMembersParmeter.cs │ │ ├── Member.cs │ │ ├── ReadConfigurationResult.cs │ │ └── Service │ │ │ ├── ListService.cs │ │ │ └── RegisterServiceParmeter.cs │ ├── AllProcess.cs │ ├── App.config │ ├── ApplicationProcess.cs │ ├── ConsulHttpAPI.cs │ ├── ConsulProcess.cs │ ├── DockerProcess.cs │ ├── DotnetProcess.cs │ ├── FieldNameAttribute.cs │ ├── Health │ │ ├── BaseCheckNodeResult.cs │ │ ├── CheckNodeResult.cs │ │ ├── CheckServiceParmeter.cs │ │ ├── HealthGovern.cs │ │ ├── HealthService.cs │ │ └── ListChecksInStateParmeter.cs │ ├── KV │ │ ├── CreateUpdateKeyParmeter.cs │ │ ├── DeleteKeyParmter.cs │ │ ├── KVGovern.cs │ │ ├── ReadKeyParmeter.cs │ │ └── ReadKeyResult.cs │ ├── ProcessExtensions.cs │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── Raft │ │ ├── OperatorRaftGovern.cs │ │ ├── ReadConfigurationParmeter.cs │ │ ├── ReadConfigurationResult.cs │ │ └── Server.cs │ ├── ServiceControlPanel.csproj │ ├── cmd │ │ ├── consul.bat │ │ └── lisapi.bat │ ├── config.json │ ├── consul │ │ ├── conf │ │ │ ├── service.json │ │ │ ├── watchs.json │ │ │ └── xacl.json │ │ ├── consul.exe │ │ ├── consuldocker │ │ │ ├── Dockerfile │ │ │ ├── Readme.txt │ │ │ ├── config │ │ │ │ └── service.json │ │ │ ├── consul │ │ │ │ ├── config │ │ │ │ │ ├── service.json │ │ │ │ │ ├── watchs.json │ │ │ │ │ └── xacl.json │ │ │ │ └── data │ │ │ │ │ ├── checkpoint-signature │ │ │ │ │ ├── node-id │ │ │ │ │ ├── raft │ │ │ │ │ ├── peers.info │ │ │ │ │ └── raft.db │ │ │ │ │ └── serf │ │ │ │ │ ├── local.snapshot │ │ │ │ │ └── remote.snapshot │ │ │ └── docker-entrypoint.sh │ │ ├── data │ │ │ ├── checkpoint-signature │ │ │ ├── node-id │ │ │ ├── raft │ │ │ │ ├── peers.info │ │ │ │ ├── raft.db │ │ │ │ └── raft.db.lock │ │ │ └── serf │ │ │ │ ├── local.keyring │ │ │ │ ├── local.snapshot │ │ │ │ ├── remote.keyring │ │ │ │ └── remote.snapshot │ │ └── dist │ │ │ ├── GNUmakefile │ │ │ ├── Gemfile │ │ │ ├── Gemfile.lock │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── javascripts │ │ │ ├── app │ │ │ │ ├── controllers.js │ │ │ │ ├── helpers.js │ │ │ │ ├── mixins.js │ │ │ │ ├── models.js │ │ │ │ ├── router.js │ │ │ │ ├── routes.js │ │ │ │ └── views.js │ │ │ ├── fixtures.js │ │ │ └── libs │ │ │ │ ├── base64.min.js │ │ │ │ ├── classie.js │ │ │ │ ├── classie.min.js │ │ │ │ ├── ember-debug.min.js │ │ │ │ ├── ember-validations.min.js │ │ │ │ ├── ember.min.js │ │ │ │ ├── handlebars-1.3.0.min.js │ │ │ │ ├── jquery-1.10.2.min.js │ │ │ │ ├── list-view.min.js │ │ │ │ └── notificationFx.js │ │ │ ├── scripts │ │ │ ├── compile.rb │ │ │ └── dist.sh │ │ │ ├── static │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-512x512.png │ │ │ ├── apple-touch-icon-114x114.png │ │ │ ├── apple-touch-icon-120x120.png │ │ │ ├── apple-touch-icon-144x144.png │ │ │ ├── apple-touch-icon-152x152.png │ │ │ ├── apple-touch-icon-57x57.png │ │ │ ├── apple-touch-icon-60x60.png │ │ │ ├── apple-touch-icon-72x72.png │ │ │ ├── apple-touch-icon-76x76.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── base.css │ │ │ ├── base.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── consul-logo.png │ │ │ ├── favicon-128.png │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-196x196.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon-96x96.png │ │ │ ├── favicon.ico │ │ │ ├── favicon.png │ │ │ ├── loading-cylon-pink.svg │ │ │ ├── mstile-144x144.png │ │ │ ├── mstile-150x150.png │ │ │ ├── mstile-310x150.png │ │ │ ├── mstile-310x310.png │ │ │ ├── mstile-70x70.png │ │ │ └── safari-pinned-tab.svg │ │ │ ├── style-guide.html │ │ │ ├── styles │ │ │ ├── _buttons.scss │ │ │ ├── _forms.scss │ │ │ ├── _lists.scss │ │ │ ├── _mixins.scss │ │ │ ├── _nav.scss │ │ │ ├── _notifications.scss │ │ │ ├── _panels.scss │ │ │ ├── _type.scss │ │ │ ├── _variables.scss │ │ │ └── base.scss │ │ │ └── tests │ │ │ ├── runner.css │ │ │ ├── runner.js │ │ │ ├── tests.js │ │ │ └── vendor │ │ │ ├── qunit-1.12.0.css │ │ │ └── qunit-1.12.0.js │ ├── frmMainPanel.Designer.cs │ ├── frmMainPanel.cs │ ├── frmMainPanel.resx │ ├── images │ │ ├── Add.png │ │ ├── All.png │ │ ├── All80.png │ │ ├── Allstop80.png │ │ ├── Consul.png │ │ ├── Consul80.png │ │ ├── ConsulStop80.png │ │ ├── Delete.png │ │ ├── Docker.png │ │ ├── Docker80.png │ │ ├── DockerStop80.png │ │ ├── Modify.png │ │ ├── Query.png │ │ ├── dotnet.png │ │ ├── dotnet80.png │ │ └── dotnetstop80.png │ └── packages.config ├── TestClient │ ├── App.config │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── TestClient.csproj │ └── packages.config ├── TestDesktop │ ├── App.config │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── TestDesktop.csproj │ ├── frmTest.Designer.cs │ ├── frmTest.cs │ ├── frmTest.resx │ └── packages.config ├── TestDesktop02 │ ├── App.config │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── TestDesktop02.csproj │ ├── frmTest.Designer.cs │ ├── frmTest.cs │ ├── frmTest.resx │ └── packages.config ├── WebApiClient │ ├── Attributes │ │ ├── FilterAttributes │ │ │ └── ApiActionFilterAttribute.cs │ │ ├── FormFieldAttribute.cs │ │ ├── HeaderAttribute.cs │ │ ├── HttpActionAttributes │ │ │ ├── ApiActionAttribute.cs │ │ │ ├── BasicAuthAttribute.cs │ │ │ ├── HttpDeleteAttribute.cs │ │ │ ├── HttpGetAttribute.cs │ │ │ ├── HttpHeadAttribute.cs │ │ │ ├── HttpHostAttribute.cs │ │ │ ├── HttpMethodAttribute.cs │ │ │ ├── HttpOptionsAttribute.cs │ │ │ ├── HttpPostAttribute.cs │ │ │ ├── HttpPutAttribute.cs │ │ │ ├── ProxyAttribute.cs │ │ │ └── TimeoutAttribute.cs │ │ ├── MulitpartTextAttribute.cs │ │ ├── ParameterAttributes │ │ │ ├── FormContentAttribute.cs │ │ │ ├── HttpContentAttribute.cs │ │ │ ├── JsonContentAttribute.cs │ │ │ ├── MulitpartContentAttribute.cs │ │ │ ├── PathQueryAttribute.cs │ │ │ ├── UrlAttribute.cs │ │ │ └── XmlContentAttribute.cs │ │ └── ReturnAttributes │ │ │ ├── ApiReturnAttribute.cs │ │ │ ├── AutoReturnAttribute.cs │ │ │ ├── JsonReturnAttribute.cs │ │ │ └── XmlReturnAttribute.cs │ ├── Contexts │ │ ├── ApiActionContext.cs │ │ ├── ApiActionDescriptor.cs │ │ ├── ApiParameterDescriptor.cs │ │ ├── ApiReturnDescriptor.cs │ │ ├── TagItem.cs │ │ └── Tags.cs │ ├── DataAnnotations │ │ ├── AliasAsAttribute.cs │ │ ├── DateTimeFormatAttribute.cs │ │ └── IgnoreSerializedAttribute.cs │ ├── DateTimeFormats.cs │ ├── Defaults │ │ ├── HttpClient.cs │ │ ├── JsonFormatter.cs │ │ ├── KeyValueFormats │ │ │ ├── ConvertContext.cs │ │ │ ├── ConverterBase.cs │ │ │ └── Converters │ │ │ │ ├── EnumerableConverter.cs │ │ │ │ ├── KeyValuePairConverter.cs │ │ │ │ ├── NullValueConverter.cs │ │ │ │ ├── PropertiesConverter.cs │ │ │ │ └── SimpleTypeConverter.cs │ │ ├── KeyValueFormatter.cs │ │ └── XmlFormatter.cs │ ├── FormatOptions.cs │ ├── GlobalFilterCollection.cs │ ├── HttpApiClient.cs │ ├── HttpApiConfig.cs │ ├── HttpApiConfigException.cs │ ├── HttpApiRequestMessage.cs │ ├── HttpResponseMessageExtend.cs │ ├── ITask.cs │ ├── Interfaces │ │ ├── IApiActionAttribute.cs │ │ ├── IApiActionFilter.cs │ │ ├── IApiActionFilterAttribute.cs │ │ ├── IApiInterceptor.cs │ │ ├── IApiParameterAttribute.cs │ │ ├── IApiParameterable.cs │ │ ├── IApiReturnAttribute.cs │ │ ├── IAttributeMultiplable.cs │ │ ├── IHandleTask.cs │ │ ├── IHttpApiClient.cs │ │ ├── IHttpClient.cs │ │ ├── IJsonFormatter.cs │ │ ├── IKeyValueFormatter.cs │ │ ├── IRetryTask.cs │ │ └── IXmlFormatter.cs │ ├── Internal │ │ ├── ApiDescriptorCache.cs │ │ ├── ApiHandleTask.cs │ │ ├── ApiInterceptor.cs │ │ ├── ApiRetryTask.cs │ │ ├── ApiTask.cs │ │ ├── AttributeExtend.cs │ │ ├── Getter.cs │ │ ├── HttpApiClientProxy.cs │ │ ├── HttpUtility.cs │ │ ├── MimeTable.cs │ │ ├── MulitpartFileContent.cs │ │ ├── MulitpartTextContent.cs │ │ ├── ParameterableAttribute.cs │ │ ├── TypeExtend.cs │ │ └── mime.day │ ├── Parameterables │ │ ├── BasicAuth.cs │ │ ├── FormField.cs │ │ ├── MulitpartFile.cs │ │ ├── MulitpartText.cs │ │ └── Timeout.cs │ ├── RetryException.cs │ ├── TaskExtend.cs │ └── WebApiClient.csproj ├── 其他测试项目 │ └── AspectCore-APMDemo │ │ ├── AspectCore-APMDemo.csproj │ │ ├── Controllers │ │ └── ValuesController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── 说明.txt └── 工具和文档 │ ├── Metrics │ ├── app-metrics-web-monitoring-influxdb_rev3.json │ ├── grafana-4.6.2 │ │ ├── LICENSE.md │ │ ├── NOTICE.md │ │ ├── README.md │ │ ├── VERSION │ │ ├── conf │ │ │ ├── defaults.ini │ │ │ ├── ldap.toml │ │ │ └── sample.ini │ │ ├── data │ │ │ ├── grafana.db │ │ │ └── sessions │ │ │ │ ├── 1 │ │ │ │ └── a │ │ │ │ │ └── 1a89043dd487d0e4 │ │ │ │ ├── 7 │ │ │ │ └── 9 │ │ │ │ │ └── 79166dbaff84420d │ │ │ │ ├── b │ │ │ │ └── b │ │ │ │ │ └── bb6bfd6721af4e46 │ │ │ │ └── f │ │ │ │ ├── 0 │ │ │ │ └── f03f713a25b839ad │ │ │ │ └── 5 │ │ │ │ └── f5f266dc9e70c6ce │ │ ├── public │ │ │ ├── app │ │ │ │ ├── app.ts │ │ │ │ ├── core │ │ │ │ │ ├── app_events.ts │ │ │ │ │ ├── components │ │ │ │ │ │ ├── PasswordStrength.tsx │ │ │ │ │ │ ├── code_editor │ │ │ │ │ │ │ ├── code_editor.ts │ │ │ │ │ │ │ └── theme-grafana-dark.js │ │ │ │ │ │ ├── colorpicker │ │ │ │ │ │ │ ├── ColorPalette.tsx │ │ │ │ │ │ │ ├── ColorPicker.tsx │ │ │ │ │ │ │ ├── ColorPickerPopover.tsx │ │ │ │ │ │ │ ├── SeriesColorPicker.tsx │ │ │ │ │ │ │ ├── SpectrumPicker.tsx │ │ │ │ │ │ │ └── spectrum_picker.ts │ │ │ │ │ │ ├── dashboard_selector.ts │ │ │ │ │ │ ├── form_dropdown │ │ │ │ │ │ │ └── form_dropdown.ts │ │ │ │ │ │ ├── grafana_app.ts │ │ │ │ │ │ ├── help │ │ │ │ │ │ │ ├── help.html │ │ │ │ │ │ │ └── help.ts │ │ │ │ │ │ ├── info_popover.ts │ │ │ │ │ │ ├── json_explorer │ │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ │ └── json_explorer.ts │ │ │ │ │ │ ├── jsontree │ │ │ │ │ │ │ └── jsontree.ts │ │ │ │ │ │ ├── layout_selector │ │ │ │ │ │ │ └── layout_selector.ts │ │ │ │ │ │ ├── navbar │ │ │ │ │ │ │ ├── navbar.html │ │ │ │ │ │ │ └── navbar.ts │ │ │ │ │ │ ├── query_part │ │ │ │ │ │ │ ├── query_part.ts │ │ │ │ │ │ │ └── query_part_editor.ts │ │ │ │ │ │ ├── search │ │ │ │ │ │ │ ├── search.html │ │ │ │ │ │ │ └── search.ts │ │ │ │ │ │ ├── sidemenu │ │ │ │ │ │ │ ├── sidemenu.html │ │ │ │ │ │ │ └── sidemenu.ts │ │ │ │ │ │ └── switch.ts │ │ │ │ │ ├── config.js │ │ │ │ │ ├── controllers │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── error_ctrl.js │ │ │ │ │ │ ├── inspect_ctrl.js │ │ │ │ │ │ ├── invited_ctrl.js │ │ │ │ │ │ ├── json_editor_ctrl.js │ │ │ │ │ │ ├── login_ctrl.js │ │ │ │ │ │ ├── reset_password_ctrl.js │ │ │ │ │ │ └── signup_ctrl.ts │ │ │ │ │ ├── core.ts │ │ │ │ │ ├── core_module.ts │ │ │ │ │ ├── directives │ │ │ │ │ │ ├── array_join.ts │ │ │ │ │ │ ├── confirm_click.js │ │ │ │ │ │ ├── dash_class.js │ │ │ │ │ │ ├── dash_edit_link.js │ │ │ │ │ │ ├── diff-view.ts │ │ │ │ │ │ ├── dropdown_typeahead.js │ │ │ │ │ │ ├── give_focus.ts │ │ │ │ │ │ ├── metric_segment.js │ │ │ │ │ │ ├── misc.js │ │ │ │ │ │ ├── ng_model_on_blur.js │ │ │ │ │ │ ├── rebuild_on_change.ts │ │ │ │ │ │ ├── tags.js │ │ │ │ │ │ └── value_select_dropdown.js │ │ │ │ │ ├── filters │ │ │ │ │ │ └── filters.ts │ │ │ │ │ ├── jquery_extended.js │ │ │ │ │ ├── live │ │ │ │ │ │ └── live_srv.ts │ │ │ │ │ ├── lodash_extended.js │ │ │ │ │ ├── mod_defs.d.ts │ │ │ │ │ ├── nav_model_srv.ts │ │ │ │ │ ├── partials.ts │ │ │ │ │ ├── profiler.ts │ │ │ │ │ ├── routes │ │ │ │ │ │ ├── bundle_loader.ts │ │ │ │ │ │ ├── dashboard_loaders.js │ │ │ │ │ │ └── routes.ts │ │ │ │ │ ├── services │ │ │ │ │ │ ├── alert_srv.ts │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── analytics.js │ │ │ │ │ │ ├── backend_srv.ts │ │ │ │ │ │ ├── context_srv.ts │ │ │ │ │ │ ├── dynamic_directive_srv.ts │ │ │ │ │ │ ├── keybindingSrv.ts │ │ │ │ │ │ ├── keyboard_manager.js │ │ │ │ │ │ ├── popover_srv.ts │ │ │ │ │ │ ├── segment_srv.js │ │ │ │ │ │ ├── timer.js │ │ │ │ │ │ └── util_srv.ts │ │ │ │ │ ├── settings.js │ │ │ │ │ ├── specs │ │ │ │ │ │ ├── PasswordStrength_specs.tsx │ │ │ │ │ │ ├── backend_srv_specs.ts │ │ │ │ │ │ ├── time_series_specs.ts │ │ │ │ │ │ └── value_select_dropdown_specs.ts │ │ │ │ │ ├── store.js │ │ │ │ │ ├── table_model.ts │ │ │ │ │ ├── time_series.js │ │ │ │ │ ├── time_series2.ts │ │ │ │ │ └── utils │ │ │ │ │ │ ├── colors.ts │ │ │ │ │ │ ├── css_loader.ts │ │ │ │ │ │ ├── datemath.ts │ │ │ │ │ │ ├── emitter.ts │ │ │ │ │ │ ├── file_export.ts │ │ │ │ │ │ ├── flatten.ts │ │ │ │ │ │ ├── kbn.js │ │ │ │ │ │ ├── model_utils.ts │ │ │ │ │ │ ├── outline.js │ │ │ │ │ │ ├── rangeutil.ts │ │ │ │ │ │ ├── react2angular.ts │ │ │ │ │ │ ├── sort_by_keys.ts │ │ │ │ │ │ └── ticks.ts │ │ │ │ ├── features │ │ │ │ │ ├── admin │ │ │ │ │ │ ├── admin.ts │ │ │ │ │ │ ├── adminEditOrgCtrl.js │ │ │ │ │ │ ├── adminEditUserCtrl.js │ │ │ │ │ │ ├── adminListOrgsCtrl.js │ │ │ │ │ │ ├── admin_list_users_ctrl.ts │ │ │ │ │ │ └── partials │ │ │ │ │ │ │ ├── admin_home.html │ │ │ │ │ │ │ ├── edit_org.html │ │ │ │ │ │ │ ├── edit_user.html │ │ │ │ │ │ │ ├── new_user.html │ │ │ │ │ │ │ ├── orgs.html │ │ │ │ │ │ │ ├── settings.html │ │ │ │ │ │ │ ├── stats.html │ │ │ │ │ │ │ └── users.html │ │ │ │ │ ├── alerting │ │ │ │ │ │ ├── alert_def.ts │ │ │ │ │ │ ├── alert_list_ctrl.ts │ │ │ │ │ │ ├── alert_tab_ctrl.ts │ │ │ │ │ │ ├── all.ts │ │ │ │ │ │ ├── notification_edit_ctrl.ts │ │ │ │ │ │ ├── notifications_list_ctrl.ts │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── alert_howto.html │ │ │ │ │ │ │ ├── alert_list.html │ │ │ │ │ │ │ ├── alert_tab.html │ │ │ │ │ │ │ ├── notification_edit.html │ │ │ │ │ │ │ └── notifications_list.html │ │ │ │ │ │ ├── specs │ │ │ │ │ │ │ ├── alert_tab_specs.ts │ │ │ │ │ │ │ └── threshold_mapper_specs.ts │ │ │ │ │ │ └── threshold_mapper.ts │ │ │ │ │ ├── all.js │ │ │ │ │ ├── annotations │ │ │ │ │ │ ├── all.ts │ │ │ │ │ │ ├── annotation_tooltip.ts │ │ │ │ │ │ ├── annotations_srv.ts │ │ │ │ │ │ ├── editor_ctrl.ts │ │ │ │ │ │ ├── event.ts │ │ │ │ │ │ ├── event_editor.ts │ │ │ │ │ │ ├── event_manager.ts │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ └── event_editor.html │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ └── annotations_srv_specs.ts │ │ │ │ │ ├── dashboard │ │ │ │ │ │ ├── ad_hoc_filters.ts │ │ │ │ │ │ ├── alerting_srv.ts │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── dashboardLoaderSrv.js │ │ │ │ │ │ ├── dashboard_ctrl.ts │ │ │ │ │ │ ├── dashboard_srv.ts │ │ │ │ │ │ ├── dashnav │ │ │ │ │ │ │ ├── dashnav.html │ │ │ │ │ │ │ └── dashnav.ts │ │ │ │ │ │ ├── dynamic_dashboard_srv.ts │ │ │ │ │ │ ├── export │ │ │ │ │ │ │ ├── export_modal.html │ │ │ │ │ │ │ ├── export_modal.ts │ │ │ │ │ │ │ └── exporter.ts │ │ │ │ │ │ ├── export_data │ │ │ │ │ │ │ ├── export_data_modal.html │ │ │ │ │ │ │ └── export_data_modal.ts │ │ │ │ │ │ ├── graphiteImportCtrl.js │ │ │ │ │ │ ├── history │ │ │ │ │ │ │ ├── history.html │ │ │ │ │ │ │ ├── history.ts │ │ │ │ │ │ │ └── history_srv.ts │ │ │ │ │ │ ├── import │ │ │ │ │ │ │ ├── dash_import.html │ │ │ │ │ │ │ └── dash_import.ts │ │ │ │ │ │ ├── impression_store.ts │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── addAnnotationModal.html │ │ │ │ │ │ │ ├── inspector.html │ │ │ │ │ │ │ ├── settings.html │ │ │ │ │ │ │ └── shareModal.html │ │ │ │ │ │ ├── repeat_option │ │ │ │ │ │ │ └── repeat_option.ts │ │ │ │ │ │ ├── row │ │ │ │ │ │ │ ├── add_panel.html │ │ │ │ │ │ │ ├── add_panel.ts │ │ │ │ │ │ │ ├── options.html │ │ │ │ │ │ │ ├── options.ts │ │ │ │ │ │ │ ├── row.html │ │ │ │ │ │ │ ├── row_ctrl.ts │ │ │ │ │ │ │ └── row_model.ts │ │ │ │ │ │ ├── save_as_modal.ts │ │ │ │ │ │ ├── save_modal.ts │ │ │ │ │ │ ├── shareModalCtrl.js │ │ │ │ │ │ ├── shareSnapshotCtrl.js │ │ │ │ │ │ ├── specs │ │ │ │ │ │ │ ├── dash_import_ctrl_specs.ts │ │ │ │ │ │ │ ├── dashboard_model_specs.ts │ │ │ │ │ │ │ ├── dashboard_srv_specs.ts │ │ │ │ │ │ │ ├── dynamic_dashboard_srv_specs.ts │ │ │ │ │ │ │ ├── exporter_specs.ts │ │ │ │ │ │ │ ├── history_ctrl_specs.ts │ │ │ │ │ │ │ ├── history_mocks.ts │ │ │ │ │ │ │ ├── history_srv_specs.ts │ │ │ │ │ │ │ ├── save_as_modal.jest.ts │ │ │ │ │ │ │ ├── share_modal_ctrl_specs.ts │ │ │ │ │ │ │ ├── time_srv_specs.ts │ │ │ │ │ │ │ ├── unsaved_changes_srv_specs.ts │ │ │ │ │ │ │ └── viewstate_srv_specs.ts │ │ │ │ │ │ ├── submenu │ │ │ │ │ │ │ ├── submenu.html │ │ │ │ │ │ │ └── submenu.ts │ │ │ │ │ │ ├── time_srv.ts │ │ │ │ │ │ ├── timepicker │ │ │ │ │ │ │ ├── dropdown.html │ │ │ │ │ │ │ ├── input_date.ts │ │ │ │ │ │ │ ├── settings.html │ │ │ │ │ │ │ ├── timepicker.html │ │ │ │ │ │ │ └── timepicker.ts │ │ │ │ │ │ ├── unsavedChangesSrv.js │ │ │ │ │ │ ├── unsaved_changes_modal.ts │ │ │ │ │ │ ├── upload.ts │ │ │ │ │ │ └── viewStateSrv.js │ │ │ │ │ ├── dashlinks │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ └── module.js │ │ │ │ │ ├── org │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── change_password_ctrl.js │ │ │ │ │ │ ├── newOrgCtrl.js │ │ │ │ │ │ ├── orgApiKeysCtrl.js │ │ │ │ │ │ ├── orgDetailsCtrl.js │ │ │ │ │ │ ├── org_users_ctrl.ts │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── add_user.html │ │ │ │ │ │ │ ├── apikeyModal.html │ │ │ │ │ │ │ ├── change_password.html │ │ │ │ │ │ │ ├── invite.html │ │ │ │ │ │ │ ├── newOrg.html │ │ │ │ │ │ │ ├── orgApiKeys.html │ │ │ │ │ │ │ ├── orgDetails.html │ │ │ │ │ │ │ ├── orgUsers.html │ │ │ │ │ │ │ ├── profile.html │ │ │ │ │ │ │ └── select_org.html │ │ │ │ │ │ ├── prefs_control.ts │ │ │ │ │ │ ├── profile_ctrl.ts │ │ │ │ │ │ ├── select_org_ctrl.js │ │ │ │ │ │ └── userInviteCtrl.js │ │ │ │ │ ├── panel │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── metrics_panel_ctrl.ts │ │ │ │ │ │ ├── metrics_tab.ts │ │ │ │ │ │ ├── panel_ctrl.ts │ │ │ │ │ │ ├── panel_directive.ts │ │ │ │ │ │ ├── panel_editor_tab.ts │ │ │ │ │ │ ├── panel_menu.js │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── metrics_tab.html │ │ │ │ │ │ │ ├── panelTime.html │ │ │ │ │ │ │ ├── query_editor_row.html │ │ │ │ │ │ │ └── soloPanel.html │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ ├── query_editor_row.ts │ │ │ │ │ │ ├── query_troubleshooter.ts │ │ │ │ │ │ └── solo_panel_ctrl.js │ │ │ │ │ ├── panellinks │ │ │ │ │ │ ├── linkSrv.js │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ ├── module.js │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ └── link_srv_specs.ts │ │ │ │ │ ├── playlist │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── playlist.html │ │ │ │ │ │ │ ├── playlist_search.html │ │ │ │ │ │ │ └── playlists.html │ │ │ │ │ │ ├── playlist_edit_ctrl.ts │ │ │ │ │ │ ├── playlist_routes.js │ │ │ │ │ │ ├── playlist_search.ts │ │ │ │ │ │ ├── playlist_srv.ts │ │ │ │ │ │ ├── playlists_ctrl.ts │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ └── playlist_edit_ctrl_specs.ts │ │ │ │ │ ├── plugins │ │ │ │ │ │ ├── all.ts │ │ │ │ │ │ ├── built_in_plugins.ts │ │ │ │ │ │ ├── datasource_srv.js │ │ │ │ │ │ ├── ds_edit_ctrl.ts │ │ │ │ │ │ ├── ds_list_ctrl.ts │ │ │ │ │ │ ├── import_list │ │ │ │ │ │ │ ├── import_list.html │ │ │ │ │ │ │ └── import_list.ts │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── ds_edit.html │ │ │ │ │ │ │ ├── ds_http_settings.html │ │ │ │ │ │ │ ├── ds_list.html │ │ │ │ │ │ │ ├── plugin_edit.html │ │ │ │ │ │ │ ├── plugin_list.html │ │ │ │ │ │ │ ├── plugin_page.html │ │ │ │ │ │ │ └── update_instructions.html │ │ │ │ │ │ ├── plugin_component.ts │ │ │ │ │ │ ├── plugin_edit_ctrl.ts │ │ │ │ │ │ ├── plugin_list_ctrl.ts │ │ │ │ │ │ ├── plugin_loader.ts │ │ │ │ │ │ ├── plugin_page_ctrl.ts │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ └── datasource_srv_specs.ts │ │ │ │ │ ├── snapshot │ │ │ │ │ │ ├── all.ts │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ └── snapshots.html │ │ │ │ │ │ └── snapshot_ctrl.ts │ │ │ │ │ ├── styleguide │ │ │ │ │ │ ├── styleguide.html │ │ │ │ │ │ └── styleguide.ts │ │ │ │ │ └── templating │ │ │ │ │ │ ├── adhoc_variable.ts │ │ │ │ │ │ ├── all.ts │ │ │ │ │ │ ├── constant_variable.ts │ │ │ │ │ │ ├── custom_variable.ts │ │ │ │ │ │ ├── datasource_variable.ts │ │ │ │ │ │ ├── editor_ctrl.ts │ │ │ │ │ │ ├── interval_variable.ts │ │ │ │ │ │ ├── partials │ │ │ │ │ │ └── editor.html │ │ │ │ │ │ ├── query_variable.ts │ │ │ │ │ │ ├── specs │ │ │ │ │ │ ├── adhoc_variable_specs.ts │ │ │ │ │ │ ├── query_variable_specs.ts │ │ │ │ │ │ ├── template_srv_specs.ts │ │ │ │ │ │ ├── variable_specs.ts │ │ │ │ │ │ ├── variable_srv_init_specs.ts │ │ │ │ │ │ └── variable_srv_specs.ts │ │ │ │ │ │ ├── templateSrv.js │ │ │ │ │ │ ├── variable.ts │ │ │ │ │ │ └── variable_srv.ts │ │ │ │ ├── headers │ │ │ │ │ └── common.d.ts │ │ │ │ ├── index.ts │ │ │ │ ├── partials │ │ │ │ │ ├── confirm_modal.html │ │ │ │ │ ├── dashboard.html │ │ │ │ │ ├── edit_json.html │ │ │ │ │ ├── error.html │ │ │ │ │ ├── login.html │ │ │ │ │ ├── modal.html │ │ │ │ │ ├── panelgeneral.html │ │ │ │ │ ├── reset_password.html │ │ │ │ │ ├── signup_invited.html │ │ │ │ │ ├── signup_step2.html │ │ │ │ │ └── valueSelectDropdown.html │ │ │ │ ├── plugins │ │ │ │ │ ├── app │ │ │ │ │ │ └── testdata │ │ │ │ │ │ │ ├── dashboards │ │ │ │ │ │ │ ├── alerts.json │ │ │ │ │ │ │ └── graph_last_1h.json │ │ │ │ │ │ │ ├── datasource │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ └── query_ctrl.ts │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ ├── datasource │ │ │ │ │ │ ├── cloudwatch │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── config_ctrl.ts │ │ │ │ │ │ │ ├── datasource.d.ts │ │ │ │ │ │ │ ├── datasource.js │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── amazon-web-services.png │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ │ ├── query.editor.html │ │ │ │ │ │ │ │ └── query.parameter.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ ├── query_parameter_ctrl.js │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ └── datasource_specs.ts │ │ │ │ │ │ ├── elasticsearch │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── bucket_agg.js │ │ │ │ │ │ │ ├── config_ctrl.ts │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── elastic_response.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── elasticsearch.svg │ │ │ │ │ │ │ ├── index_pattern.ts │ │ │ │ │ │ │ ├── metric_agg.js │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ ├── bucket_agg.html │ │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ │ ├── metric_agg.html │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_builder.ts │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ ├── query_def.ts │ │ │ │ │ │ │ ├── query_help.md │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ ├── datasource_specs.ts │ │ │ │ │ │ │ │ ├── elastic_response_specs.ts │ │ │ │ │ │ │ │ ├── index_pattern_specs.ts │ │ │ │ │ │ │ │ ├── query_builder_specs.ts │ │ │ │ │ │ │ │ └── query_def_specs.ts │ │ │ │ │ │ ├── grafana-live │ │ │ │ │ │ │ ├── _plugin.json │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ └── partials │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ ├── grafana │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ │ ├── graphite │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── add_graphite_func.js │ │ │ │ │ │ │ ├── config_ctrl.ts │ │ │ │ │ │ │ ├── dashboards │ │ │ │ │ │ │ │ └── carbon_metrics.json │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── func_editor.js │ │ │ │ │ │ │ ├── gfunc.d.ts │ │ │ │ │ │ │ ├── gfunc.js │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── graphite_logo.png │ │ │ │ │ │ │ ├── lexer.ts │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── parser.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ ├── query_help.md │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ ├── datasource_specs.ts │ │ │ │ │ │ │ │ ├── gfunc_specs.ts │ │ │ │ │ │ │ │ ├── lexer_specs.ts │ │ │ │ │ │ │ │ ├── parser_specs.ts │ │ │ │ │ │ │ │ └── query_ctrl_specs.ts │ │ │ │ │ │ ├── influxdb │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── influxdb_logo.svg │ │ │ │ │ │ │ ├── influx_query.ts │ │ │ │ │ │ │ ├── influx_series.d.ts │ │ │ │ │ │ │ ├── influx_series.js │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_builder.d.ts │ │ │ │ │ │ │ ├── query_builder.js │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ ├── query_help.md │ │ │ │ │ │ │ ├── query_part.ts │ │ │ │ │ │ │ ├── response_parser.ts │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ ├── influx_query_specs.ts │ │ │ │ │ │ │ │ ├── influx_series_specs.ts │ │ │ │ │ │ │ │ ├── query_builder_specs.ts │ │ │ │ │ │ │ │ ├── query_ctrl_specs.ts │ │ │ │ │ │ │ │ ├── query_part_specs.ts │ │ │ │ │ │ │ │ └── response_parser_specs.ts │ │ │ │ │ │ ├── mixed │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ │ ├── mysql │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── mysql_logo.svg │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ ├── response_parser.ts │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ └── datasource_specs.ts │ │ │ │ │ │ ├── opentsdb │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── config_ctrl.ts │ │ │ │ │ │ │ ├── datasource.d.ts │ │ │ │ │ │ │ ├── datasource.js │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── opentsdb_logo.png │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ ├── datasource-specs.ts │ │ │ │ │ │ │ │ └── query-ctrl-specs.ts │ │ │ │ │ │ ├── postgres │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── postgresql_logo.svg │ │ │ │ │ │ │ ├── mode-sql.js │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ ├── response_parser.ts │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ └── datasource_specs.ts │ │ │ │ │ │ └── prometheus │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── completer.ts │ │ │ │ │ │ │ ├── dashboards │ │ │ │ │ │ │ ├── grafana_stats.json │ │ │ │ │ │ │ └── prometheus_stats.json │ │ │ │ │ │ │ ├── datasource.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ └── prometheus_logo.svg │ │ │ │ │ │ │ ├── metric_find_query.d.ts │ │ │ │ │ │ │ ├── metric_find_query.js │ │ │ │ │ │ │ ├── mode-prometheus.js │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ ├── annotations.editor.html │ │ │ │ │ │ │ ├── config.html │ │ │ │ │ │ │ └── query.editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── query_ctrl.ts │ │ │ │ │ │ │ ├── snippets │ │ │ │ │ │ │ └── prometheus.js │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ ├── completer_specs.ts │ │ │ │ │ │ │ ├── datasource_specs.ts │ │ │ │ │ │ │ └── metric_find_query_specs.ts │ │ │ │ │ ├── panel │ │ │ │ │ │ ├── alertlist │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-singlestat-panel.svg │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ │ ├── dashlist │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-dashlist-panel.svg │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ │ ├── gettingstarted │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-dashlist-panel.svg │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ │ ├── graph │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── axes_editor.html │ │ │ │ │ │ │ ├── axes_editor.ts │ │ │ │ │ │ │ ├── data_processor.ts │ │ │ │ │ │ │ ├── graph.ts │ │ │ │ │ │ │ ├── graph_tooltip.d.ts │ │ │ │ │ │ │ ├── graph_tooltip.js │ │ │ │ │ │ │ ├── histogram.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-graph-panel.svg │ │ │ │ │ │ │ ├── jquery.flot.events.js │ │ │ │ │ │ │ ├── legend.js │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── series_overrides_ctrl.js │ │ │ │ │ │ │ ├── specs │ │ │ │ │ │ │ │ ├── data_processor_specs.ts │ │ │ │ │ │ │ │ ├── graph_ctrl_specs.ts │ │ │ │ │ │ │ │ ├── graph_specs.ts │ │ │ │ │ │ │ │ ├── histogram_specs.ts │ │ │ │ │ │ │ │ ├── series_override_ctrl_specs.ts │ │ │ │ │ │ │ │ ├── threshold_manager_specs.ts │ │ │ │ │ │ │ │ └── tooltip_specs.ts │ │ │ │ │ │ │ ├── tab_display.html │ │ │ │ │ │ │ ├── tab_legend.html │ │ │ │ │ │ │ ├── template.ts │ │ │ │ │ │ │ ├── threshold_manager.ts │ │ │ │ │ │ │ └── thresholds_form.ts │ │ │ │ │ │ ├── heatmap │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── axes_editor.ts │ │ │ │ │ │ │ ├── color_legend.ts │ │ │ │ │ │ │ ├── display_editor.ts │ │ │ │ │ │ │ ├── heatmap_ctrl.ts │ │ │ │ │ │ │ ├── heatmap_data_converter.ts │ │ │ │ │ │ │ ├── heatmap_tooltip.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-heatmap-panel.svg │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── partials │ │ │ │ │ │ │ │ ├── axes_editor.html │ │ │ │ │ │ │ │ └── display_editor.html │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── rendering.ts │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ ├── heatmap_ctrl_specs.ts │ │ │ │ │ │ │ │ ├── heatmap_data_converter_specs.ts │ │ │ │ │ │ │ │ └── renderer_specs.ts │ │ │ │ │ │ ├── pluginlist │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-dashlist-panel.svg │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ │ ├── singlestat │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-singlestat-panel.svg │ │ │ │ │ │ │ ├── mappings.html │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ └── specs │ │ │ │ │ │ │ │ ├── singlestat_panel_spec.ts │ │ │ │ │ │ │ │ └── singlestat_specs.ts │ │ │ │ │ │ ├── table │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── column_options.html │ │ │ │ │ │ │ ├── column_options.ts │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ ├── editor.ts │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-table-panel.svg │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ ├── plugin.json │ │ │ │ │ │ │ ├── renderer.ts │ │ │ │ │ │ │ ├── specs │ │ │ │ │ │ │ │ ├── renderer_specs.ts │ │ │ │ │ │ │ │ └── transformers_specs.ts │ │ │ │ │ │ │ └── transformers.ts │ │ │ │ │ │ ├── text │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── editor.html │ │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ │ └── icn-text-panel.svg │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ └── plugin.json │ │ │ │ │ │ └── unknown │ │ │ │ │ │ │ ├── module.html │ │ │ │ │ │ │ └── module.ts │ │ │ │ │ └── sdk.ts │ │ │ │ └── system.conf.js │ │ │ ├── build │ │ │ │ ├── 0.be20b78823b4c9d93a84.js │ │ │ │ ├── 0.be20b78823b4c9d93a84.js.map │ │ │ │ ├── 1.5ec950fd79606aa28b3a.js │ │ │ │ ├── 1.5ec950fd79606aa28b3a.js.map │ │ │ │ ├── 2.da1bd4ed01ea396d1764.js │ │ │ │ ├── 2.da1bd4ed01ea396d1764.js.map │ │ │ │ ├── 3.481e43e343ebca821897.js │ │ │ │ ├── 3.481e43e343ebca821897.js.map │ │ │ │ ├── app.5331f559bd9a1bed9a93.js │ │ │ │ ├── app.5331f559bd9a1bed9a93.js.map │ │ │ │ ├── dark.cb713f0c8ee22a18f86f.js │ │ │ │ ├── dark.cb713f0c8ee22a18f86f.js.map │ │ │ │ ├── grafana.dark.css │ │ │ │ ├── grafana.dark.css.map │ │ │ │ ├── grafana.light.css │ │ │ │ ├── grafana.light.css.map │ │ │ │ ├── light.3e01ac5b4f74b4cc68d5.js │ │ │ │ ├── light.3e01ac5b4f74b4cc68d5.js.map │ │ │ │ ├── manifest.5d26d942b1e2171a9c11.js │ │ │ │ ├── manifest.5d26d942b1e2171a9c11.js.map │ │ │ │ ├── vendor.ebd7fde2922615864fb4.js │ │ │ │ └── vendor.ebd7fde2922615864fb4.js.map │ │ │ ├── dashboards │ │ │ │ ├── default.json │ │ │ │ ├── home.json │ │ │ │ ├── scripted.js │ │ │ │ ├── scripted_async.js │ │ │ │ ├── scripted_templated.js │ │ │ │ └── template_vars.json │ │ │ ├── emails │ │ │ │ ├── README.md │ │ │ │ ├── alert_notification.html │ │ │ │ ├── alert_notification_example.html │ │ │ │ ├── invited_to_org.html │ │ │ │ ├── new_user_invite.html │ │ │ │ ├── reset_password.html │ │ │ │ ├── signup_started.html │ │ │ │ └── welcome_on_signup.html │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── grafana-icons.eot │ │ │ │ ├── grafana-icons.svg │ │ │ │ ├── grafana-icons.ttf │ │ │ │ ├── grafana-icons.woff │ │ │ │ └── opensans │ │ │ │ │ ├── 59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2 │ │ │ │ │ ├── DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2 │ │ │ │ │ ├── DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2 │ │ │ │ │ ├── DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2 │ │ │ │ │ ├── DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2 │ │ │ │ │ ├── DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2 │ │ │ │ │ ├── DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2 │ │ │ │ │ ├── DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2 │ │ │ │ │ ├── K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2 │ │ │ │ │ ├── LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2 │ │ │ │ │ ├── MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2 │ │ │ │ │ ├── MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2 │ │ │ │ │ ├── MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2 │ │ │ │ │ ├── MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2 │ │ │ │ │ ├── MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2 │ │ │ │ │ ├── MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2 │ │ │ │ │ ├── MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2 │ │ │ │ │ ├── RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2 │ │ │ │ │ ├── cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2 │ │ │ │ │ ├── k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2 │ │ │ │ │ ├── k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2 │ │ │ │ │ ├── k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2 │ │ │ │ │ ├── k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2 │ │ │ │ │ ├── k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2 │ │ │ │ │ ├── k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2 │ │ │ │ │ ├── k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2 │ │ │ │ │ ├── u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2 │ │ │ │ │ ├── xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2 │ │ │ │ │ ├── xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2 │ │ │ │ │ ├── xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2 │ │ │ │ │ ├── xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2 │ │ │ │ │ ├── xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2 │ │ │ │ │ ├── xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2 │ │ │ │ │ ├── xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2 │ │ │ │ │ └── xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2 │ │ │ ├── img │ │ │ │ ├── CopyQuery.png │ │ │ │ ├── alert_howto_new.png │ │ │ │ ├── angle_gradient_light_rev.png │ │ │ │ ├── angle_gradient_rev.png │ │ │ │ ├── background_tease.jpg │ │ │ │ ├── check_radio_sheet.png │ │ │ │ ├── checkbox.png │ │ │ │ ├── checkbox_white.png │ │ │ │ ├── critical.svg │ │ │ │ ├── cubes.png │ │ │ │ ├── envelope.png │ │ │ │ ├── fav32.png │ │ │ │ ├── glyphicons-halflings-white.png │ │ │ │ ├── glyphicons-halflings.png │ │ │ │ ├── grab_dark.svg │ │ │ │ ├── grab_light.svg │ │ │ │ ├── grafana_com_auth_icon.svg │ │ │ │ ├── grafana_icon.svg │ │ │ │ ├── grafana_mask_icon.svg │ │ │ │ ├── grafana_net_logo.svg │ │ │ │ ├── graph404.svg │ │ │ │ ├── icn-app.svg │ │ │ │ ├── icn-dashboard-tiny.svg │ │ │ │ ├── icn-dashboard.svg │ │ │ │ ├── icn-datasource.svg │ │ │ │ ├── icn-panel.svg │ │ │ │ ├── icn-plugins-tiny.svg │ │ │ │ ├── kibana.png │ │ │ │ ├── light.png │ │ │ │ ├── load.gif │ │ │ │ ├── load_big.gif │ │ │ │ ├── loading-pulse.svg │ │ │ │ ├── logo_transparent_200x.png │ │ │ │ ├── logo_transparent_200x75.png │ │ │ │ ├── logo_transparent_400x.png │ │ │ │ ├── mixed_styles.png │ │ │ │ ├── online.svg │ │ │ │ ├── page_header_line.png │ │ │ │ ├── plugin-default-logo_dark.svg │ │ │ │ ├── plugin-default-logo_light.svg │ │ │ │ ├── small.png │ │ │ │ ├── transparent.png │ │ │ │ ├── user_profile.png │ │ │ │ ├── warn-tiny.svg │ │ │ │ └── warn.svg │ │ │ ├── robots.txt │ │ │ ├── sass │ │ │ │ ├── _grafana.scss │ │ │ │ ├── _old_responsive.scss │ │ │ │ ├── _variables.dark.scss │ │ │ │ ├── _variables.light.scss │ │ │ │ ├── _variables.scss │ │ │ │ ├── base │ │ │ │ │ ├── _code.scss │ │ │ │ │ ├── _font_awesome.scss │ │ │ │ │ ├── _fonts.scss │ │ │ │ │ ├── _forms.scss │ │ │ │ │ ├── _grafana_icons.scss │ │ │ │ │ ├── _grid.scss │ │ │ │ │ ├── _normalize.scss │ │ │ │ │ ├── _reboot.scss │ │ │ │ │ ├── _type.scss │ │ │ │ │ └── font-awesome │ │ │ │ │ │ ├── _animated.scss │ │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ │ ├── _core.scss │ │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ │ ├── _icons.scss │ │ │ │ │ │ ├── _larger.scss │ │ │ │ │ │ ├── _list.scss │ │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ │ ├── _path.scss │ │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ │ └── _variables.scss │ │ │ │ ├── components │ │ │ │ │ ├── _alerts.scss │ │ │ │ │ ├── _buttons.scss │ │ │ │ │ ├── _cards.scss │ │ │ │ │ ├── _code_editor.scss │ │ │ │ │ ├── _color_picker.scss │ │ │ │ │ ├── _drop.scss │ │ │ │ │ ├── _dropdown.scss │ │ │ │ │ ├── _filter-controls.scss │ │ │ │ │ ├── _filter-list.scss │ │ │ │ │ ├── _filter-table.scss │ │ │ │ │ ├── _footer.scss │ │ │ │ │ ├── _gf-form.scss │ │ │ │ │ ├── _icon-picker.scss │ │ │ │ │ ├── _infobox.scss │ │ │ │ │ ├── _json_explorer.scss │ │ │ │ │ ├── _jsontree.scss │ │ │ │ │ ├── _modals.scss │ │ │ │ │ ├── _navbar.scss │ │ │ │ │ ├── _navs.scss │ │ │ │ │ ├── _old_stuff.scss │ │ │ │ │ ├── _panel_alertlist.scss │ │ │ │ │ ├── _panel_dashlist.scss │ │ │ │ │ ├── _panel_gettingstarted.scss │ │ │ │ │ ├── _panel_graph.scss │ │ │ │ │ ├── _panel_heatmap.scss │ │ │ │ │ ├── _panel_pluginlist.scss │ │ │ │ │ ├── _panel_singlestat.scss │ │ │ │ │ ├── _panel_table.scss │ │ │ │ │ ├── _panel_text.scss │ │ │ │ │ ├── _query_editor.scss │ │ │ │ │ ├── _query_part.scss │ │ │ │ │ ├── _row.scss │ │ │ │ │ ├── _scrollbar.scss │ │ │ │ │ ├── _search.scss │ │ │ │ │ ├── _shortcuts.scss │ │ │ │ │ ├── _sidemenu.scss │ │ │ │ │ ├── _submenu.scss │ │ │ │ │ ├── _switch.scss │ │ │ │ │ ├── _tabbed_view.scss │ │ │ │ │ ├── _tables_lists.scss │ │ │ │ │ ├── _tabs.scss │ │ │ │ │ ├── _tags.scss │ │ │ │ │ ├── _tagsinput.scss │ │ │ │ │ ├── _timepicker.scss │ │ │ │ │ ├── _tooltip.scss │ │ │ │ │ ├── _typeahead.scss │ │ │ │ │ ├── _view_states.scss │ │ │ │ │ └── edit_sidemenu.scss │ │ │ │ ├── fonts.scss │ │ │ │ ├── grafana.dark.scss │ │ │ │ ├── grafana.light.scss │ │ │ │ ├── icons.json │ │ │ │ ├── layout │ │ │ │ │ ├── _lists.scss │ │ │ │ │ └── _page.scss │ │ │ │ ├── mixins │ │ │ │ │ ├── _animations.scss │ │ │ │ │ ├── _breakpoints.scss │ │ │ │ │ ├── _buttons.scss │ │ │ │ │ ├── _drop_element.scss │ │ │ │ │ ├── _forms.scss │ │ │ │ │ ├── _grid-framework.scss │ │ │ │ │ ├── _grid.scss │ │ │ │ │ ├── _hover.scss │ │ │ │ │ └── _mixins.scss │ │ │ │ ├── pages │ │ │ │ │ ├── _admin.scss │ │ │ │ │ ├── _alerting.scss │ │ │ │ │ ├── _dashboard.scss │ │ │ │ │ ├── _errorpage.scss │ │ │ │ │ ├── _history.scss │ │ │ │ │ ├── _login.scss │ │ │ │ │ ├── _playlist.scss │ │ │ │ │ ├── _plugins.scss │ │ │ │ │ ├── _signup.scss │ │ │ │ │ └── _styleguide.scss │ │ │ │ └── utils │ │ │ │ │ ├── _angular.scss │ │ │ │ │ ├── _flex.scss │ │ │ │ │ ├── _spacings.scss │ │ │ │ │ ├── _utils.scss │ │ │ │ │ ├── _validation.scss │ │ │ │ │ └── _widths.scss │ │ │ ├── test │ │ │ │ ├── core │ │ │ │ │ ├── table_model_specs.ts │ │ │ │ │ └── utils │ │ │ │ │ │ ├── datemath_specs.ts │ │ │ │ │ │ ├── emitter_specs.ts │ │ │ │ │ │ ├── flatten_specs.ts │ │ │ │ │ │ ├── kbn_specs.js │ │ │ │ │ │ └── rangeutil_specs.ts │ │ │ │ ├── index.ts │ │ │ │ ├── lib │ │ │ │ │ └── common.ts │ │ │ │ ├── mocks │ │ │ │ │ └── dashboard-mock.js │ │ │ │ ├── specs │ │ │ │ │ ├── app_specs.ts │ │ │ │ │ ├── helpers.d.ts │ │ │ │ │ └── helpers.js │ │ │ │ └── test-main.js │ │ │ ├── vendor │ │ │ │ ├── angular-other │ │ │ │ │ ├── angular-strap.js │ │ │ │ │ ├── datepicker.js │ │ │ │ │ └── timepicker.js │ │ │ │ ├── angular-ui │ │ │ │ │ └── ui-bootstrap-tpls.js │ │ │ │ ├── bootstrap │ │ │ │ │ └── bootstrap.js │ │ │ │ ├── css │ │ │ │ │ ├── spectrum.css │ │ │ │ │ └── timepicker.css │ │ │ │ ├── d3 │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── d3-scale-chromatic.min.js │ │ │ │ │ ├── d3.js │ │ │ │ │ └── d3.v4.min.js │ │ │ │ ├── flot │ │ │ │ │ ├── jquery.flot.crosshair.js │ │ │ │ │ ├── jquery.flot.dashes.js │ │ │ │ │ ├── jquery.flot.fillbelow.js │ │ │ │ │ ├── jquery.flot.fillbetween.js │ │ │ │ │ ├── jquery.flot.gauge.js │ │ │ │ │ ├── jquery.flot.js │ │ │ │ │ ├── jquery.flot.pie.js │ │ │ │ │ ├── jquery.flot.selection.js │ │ │ │ │ ├── jquery.flot.stack.js │ │ │ │ │ ├── jquery.flot.stackpercent.js │ │ │ │ │ └── jquery.flot.time.js │ │ │ │ ├── plugin-css │ │ │ │ │ └── css.js │ │ │ │ ├── plugin-text │ │ │ │ │ └── text.js │ │ │ │ ├── spectrum.js │ │ │ │ └── tagsinput │ │ │ │ │ └── bootstrap-tagsinput.js │ │ │ └── views │ │ │ │ ├── 407.html │ │ │ │ ├── 500.html │ │ │ │ ├── index.html │ │ │ │ └── index.template.html │ │ ├── scripts │ │ │ ├── circle-test.sh │ │ │ ├── import_many_dashboards.sh │ │ │ ├── trigger_docker_build.sh │ │ │ ├── trigger_grafana_packer.sh │ │ │ └── trigger_windows_build.sh │ │ └── vendor │ │ │ └── phantomjs │ │ │ ├── phantomjs.exe │ │ │ └── render.js │ ├── influxdb-1.4.2-1 │ │ ├── influx.exe │ │ ├── influx_inspect.exe │ │ ├── influx_stress.exe │ │ ├── influx_tsm.exe │ │ ├── influxd.exe │ │ └── influxdb.conf │ └── 说明.txt │ ├── ab.exe │ └── 压力测试命令.txt └── README.md /OcelotSample/AuthenticationAPI/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:5003/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "AuthenticationAPI": { 12 | "launchBrowser": false, 13 | "commandName": "Project", 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | }, 17 | "applicationUrl": "http://localhost:5003/" 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /OcelotSample/AuthenticationAPI/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /OcelotSample/AuthenticationAPI/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Information" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Information" 12 | } 13 | } 14 | }, 15 | "Audience": { 16 | "Secret": "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", 17 | "Issuer": "gsw", 18 | "Audience": "everone" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/Common/Common.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /OcelotSample/Common/FeatureController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authorization; 2 | using Microsoft.AspNetCore.Mvc; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | namespace Common 8 | { 9 | public class FeatureController:Controller 10 | { 11 | [AllowAnonymous] 12 | [HttpGet("/getactions")] 13 | public IActionResult GetAllAction() 14 | { 15 | var actions = ActionHandle.GetActions(); 16 | return new JsonResult(actions); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /OcelotSample/ConfigurationAPI/ConfigurationAPI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /OcelotSample/ConfigurationAPI/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore; 7 | using Microsoft.AspNetCore.Hosting; 8 | using Microsoft.Extensions.Configuration; 9 | using Microsoft.Extensions.Logging; 10 | 11 | namespace ConfigurationAPI 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | BuildWebHost(args).Run(); 18 | } 19 | 20 | public static IWebHost BuildWebHost(string[] args) => 21 | WebHost.CreateDefaultBuilder(args) 22 | .UseStartup() 23 | .Build(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/ConfigurationAPI/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /OcelotSample/ConfigurationAPI/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Warning" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Warning" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /OcelotSample/DapperPlus/DapperPlus.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /OcelotSample/HisAPI.XUnitTest/FeeItemRepositoryTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/HisAPI.XUnitTest/FeeItemRepositoryTest.cs -------------------------------------------------------------------------------- /OcelotSample/HisAPI.XUnitTest/HisAPI.XUnitTest.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /OcelotSample/HisAPI/Model/DataModel/FeeItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace HisAPI.Model.DataModel 7 | { 8 | public class FeeItem 9 | { 10 | public string FName 11 | { get; set; } 12 | public string FSize 13 | { get; set; } 14 | 15 | public string FDosaform 16 | { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /OcelotSample/HisAPI/Model/Repository/IFeeItemRepository.cs: -------------------------------------------------------------------------------- 1 | using HisAPI.Model.DataModel; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace HisAPI.Model.Repository 6 | { 7 | /// 8 | /// FeeItem仓储 9 | /// 10 | public interface IFeeItemRepository 11 | { 12 | /// 13 | /// 按名称模糊查询收费项目 14 | /// 15 | /// 名称 16 | /// 17 | List GetFeeItem(string name); 18 | /// 19 | /// 按名称模糊查询收费项目 20 | /// 21 | /// 名称 22 | /// 23 | List GetFeeItems(string name); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/HisAPI/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore; 7 | using Microsoft.AspNetCore.Hosting; 8 | using Microsoft.Extensions.Configuration; 9 | using Microsoft.Extensions.Logging; 10 | 11 | namespace HisAPI 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | Console.Title = "HisAPI"; 18 | BuildWebHost(args).Run(); 19 | } 20 | 21 | public static IWebHost BuildWebHost(string[] args) => 22 | WebHost.CreateDefaultBuilder(args) 23 | .UseUrls("http://*:5001") 24 | .UseStartup() 25 | .Build(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OcelotSample/HisAPI/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:5001/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "HisAPI": { 12 | "commandName": "Project", 13 | "launchBrowser": false, 14 | "launchUrl": "hisapi/hisuser", 15 | "environmentVariables": { 16 | "ASPNETCORE_ENVIRONMENT": "Development" 17 | }, 18 | "applicationUrl": "http://localhost:5001/" 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /OcelotSample/HisAPI/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /OcelotSample/HisAPI/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Error" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Error" 12 | } 13 | } 14 | }, 15 | "Audience": { 16 | "Secret": "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", 17 | "Issuer": "gsw", 18 | "Audience": "everone" 19 | }, 20 | "ConnectionStrings": { 21 | "DefaultConnection": "server=192.168.1.126;database=his_tangshan;uid=sa;pwd=qwe123" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /OcelotSample/HisAPI/dockerfile: -------------------------------------------------------------------------------- 1 | FROM microsoft/dotnet:2.0.0 2 | 3 | WORKDIR /list 4 | 5 | COPY /list . 6 | 7 | ENTRYPOINT ["dotnet", "lisapi.dll"] -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/DateTimeExtentions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace InfluxDBTool 8 | { 9 | public static class DateTimeExtentions 10 | { 11 | 12 | /// 13 | /// 将当前时间转换成unix时间戳形式 14 | /// 15 | /// 16 | /// 17 | public static long ToUnixTimestamp(this DateTime datetime) 18 | { 19 | return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000; 20 | } 21 | 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace InfluxDBTool 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// 应用程序的主入口点。 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new frmInfluxTool()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/database.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/InfluxDBTool/database.ico -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/influx.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/InfluxDBTool/influx.ico -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/influx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/InfluxDBTool/influx.png -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /OcelotSample/InfluxDBTool/play.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/InfluxDBTool/play.ico -------------------------------------------------------------------------------- /OcelotSample/LisAPI/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:5002/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "LisAPI": { 12 | "launchBrowser": false, 13 | "commandName": "Project", 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | }, 17 | "applicationUrl": "http://localhost:5002/" 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /OcelotSample/LisAPI/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /OcelotSample/LisAPI/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Information" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Information" 12 | } 13 | } 14 | }, 15 | "Audience": { 16 | "Secret": "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", 17 | "Issuer": "gsw", 18 | "Audience": "everone" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/LisAPI/dockerfile: -------------------------------------------------------------------------------- 1 | FROM microsoft/aspnetcore 2 | 3 | WORKDIR /list 4 | 5 | COPY . /list 6 | 7 | ENTRYPOINT ["dotnet", "LisAPI.dll"] -------------------------------------------------------------------------------- /OcelotSample/LisAPI/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/ConfigEditorOptions.cs: -------------------------------------------------------------------------------- 1 | namespace Ocelot.ConfigEditor 2 | { 3 | public class ConfigEditorOptions 4 | { 5 | public string[] Paths { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/Editor/Models/IndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Ocelot.ConfigEditor.Editor.Models 7 | { 8 | public class IndexViewModel 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/Editor/Views/Editor/CreateReRoute.cshtml: -------------------------------------------------------------------------------- 1 | @using Ocelot.ConfigEditor 2 | @using Ocelot.ConfigEditor.Editor.Models 3 | @model Ocelot.ConfigEditor.Editor.Models.FileReRouteViewModel 4 | 5 |
6 | @{ await Html.RenderPartialAsync("_FileReRoutePartial", Model); } 7 |
8 | 9 | 10 | -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/Editor/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using System.IO 2 | @using Microsoft.AspNetCore.Mvc.Razor 3 | @using Microsoft.AspNetCore.Mvc.ViewFeatures 4 | @using Ocelot.ConfigEditor.Editor 5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/Editor/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @using System.IO 2 | @using Microsoft.AspNetCore.Mvc.Razor 3 | @using Microsoft.AspNetCore.Mvc.ViewFeatures 4 | @{ 5 | Layout = "_Layout"; 6 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/FileReRouteExtensions.cs: -------------------------------------------------------------------------------- 1 | using Ocelot.Configuration.File; 2 | 3 | namespace Ocelot.ConfigEditor 4 | { 5 | public static class FileReRouteExtensions 6 | { 7 | public static string GetId(this FileReRoute fileReRoute) 8 | { 9 | return fileReRoute == null 10 | ? string.Empty 11 | : $"{fileReRoute.DownstreamScheme}{fileReRoute.DownstreamHostAndPorts[0].Host}:{fileReRoute.DownstreamHostAndPorts[0].Port}{fileReRoute.DownstreamPathTemplate}" 12 | .Replace('/', '_'); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/IReloadService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | using Ocelot.Configuration.File; 7 | 8 | namespace Ocelot.ConfigEditor 9 | { 10 | public interface IReloadService 11 | { 12 | Task IsReloadRequired(); 13 | 14 | Task ReloadConfig(); 15 | 16 | Task AddReloadFlag(); 17 | 18 | Task RemoveReloadFlag(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/NamespaceConstraint.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.Abstractions; 2 | using Microsoft.AspNetCore.Mvc.ActionConstraints; 3 | using Microsoft.AspNetCore.Routing; 4 | 5 | namespace Ocelot.ConfigEditor 6 | { 7 | internal class NamespaceConstraint : ActionMethodSelectorAttribute 8 | { 9 | public override bool IsValidForRequest(RouteContext routeContext, ActionDescriptor action) 10 | { 11 | return action.MatchesNamespaceInRoute(routeContext); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/Program.cs: -------------------------------------------------------------------------------- 1 | namespace Ocelot.ConfigEditor 2 | { 3 | internal class Program 4 | { 5 | public static void Main() 6 | { 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:62750/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Ocelot.ConfigEditor": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "http://localhost:62751/" 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Warning" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.7", 6 | "jquery": "2.2.0", 7 | "jquery-validation": "1.14.0", 8 | "jquery-validation-unobtrusive": "3.2.6" 9 | } 10 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-bottom: 20px; 3 | padding-top: 50px; 4 | } 5 | 6 | /* Wrapping element */ 7 | 8 | /* Set some basic padding to keep content from hitting the edges */ 9 | 10 | .body-content { 11 | padding-left: 15px; 12 | padding-right: 15px; 13 | } 14 | 15 | /* Set widths on the form inputs since otherwise they're 100% wide */ 16 | 17 | input, 18 | select, 19 | textarea { max-width: 280px; } 20 | 21 | .col-vertical-offset-2 { margin-top: 20px; } 22 | 23 | .required:after { 24 | content: " *"; 25 | color: red; 26 | } 27 | 28 | /* Hide/rearrange for smaller screens */ 29 | 30 | @media screen and (max-width: 767px) { 31 | /* Hide captions */ 32 | .carousel-caption { display: none; } 33 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/favicon.ico -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /OcelotSample/Ocelot.ConfigEditor/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /OcelotSample/Ocelot.JWTAuthorizePolicy/Permission.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Ocelot.JWTAuthorizePolicy 3 | { 4 | /// 5 | /// 用户或角色或其他凭据实体 6 | /// 7 | public class Permission 8 | { 9 | /// 10 | /// 用户或角色或其他凭据名称 11 | /// 12 | public virtual string Name 13 | { get; set; } 14 | /// 15 | /// 请求Url 16 | /// 17 | public virtual string Url 18 | { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/OcelotGateway/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /OcelotSample/OcelotGateway/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Warning" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Warning" 12 | } 13 | } 14 | }, 15 | "Audience": { 16 | "Secret": "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", 17 | "Issuer": "gsw", 18 | "Audience": "everone" 19 | }, 20 | "InfluxDB": { 21 | "IsOpen": true, 22 | "DataBaseName": "AppMetricsDemo", 23 | "ConnectionString": "http://127.0.0.1:8086", 24 | "username": "admin", 25 | "password": "123456", 26 | "app": "RepairApp", 27 | "env": "stage" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /OcelotSample/OcelotGateway/wwwroot/images/gsw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/OcelotGateway/wwwroot/images/gsw.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/Check.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | public abstract class Check 8 | { 9 | public string ID 10 | { get; set; } 11 | public string Name 12 | { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/DeregisterCheckParmeter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | /// 8 | /// Deregister Check Parmeter 9 | /// 10 | public class DeregisterCheckParmeter 11 | { 12 | /// 13 | /// Specifies the unique ID of the check to deregister. This is specified as part of the URL. 14 | /// 15 | public string Check_ID { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/DockerCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | public class DockerCheck : Check 8 | { 9 | public string Docker_Container_ID 10 | { get; set; } 11 | public string Shell 12 | { get; set; } 13 | public string[] Args 14 | { get; set; } 15 | public string Interval 16 | { get; set; } 17 | 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/HttpCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | public class HttpCheck:Check 8 | { 9 | public string Http 10 | { get; set; } 11 | 12 | public bool Tls_Skip_Verify 13 | { get; set; } 14 | 15 | public string Method 16 | { get; set; } 17 | 18 | public object Header 19 | { get; set; } 20 | 21 | public string Interval 22 | { get; set; } 23 | 24 | public string TimeOut 25 | { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/ScriptCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | /// 8 | /// script check 9 | /// 10 | public class ScriptCheck : Check 11 | { 12 | public string[] Args 13 | { get; set; } 14 | 15 | public string Interval 16 | { get; set; } 17 | 18 | public string TimeOut 19 | { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/TTLCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | /// 8 | /// ttl check 9 | /// 10 | public class TTLCheck : Check 11 | { 12 | /// 13 | /// ttl 14 | /// 15 | public string Ttl 16 | { get; set; } 17 | /// 18 | /// notes 19 | /// 20 | public string Notes 21 | { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/TTLCheckOpt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | /// 8 | /// TTL Check Pass Parmeter 9 | /// 10 | public class TTLCheckPassParmeter 11 | { 12 | /// 13 | /// Specifies the unique ID of the check to use. This is specified as part of the URL. 14 | /// 15 | public string Check_ID { get; set; } 16 | 17 | /// 18 | /// Specifies a human-readable message. This will be passed through to the check's Output field. 19 | /// 20 | public string Note { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Check/TcpCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Agent.Check 6 | { 7 | public class TcpCheck : Check 8 | { 9 | public string Tcp 10 | { get; set; } 11 | 12 | public string Interval 13 | { get; set; } 14 | 15 | public string TimeOut 16 | { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Coord.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel 6 | { 7 | /// 8 | /// coord 9 | /// 10 | public class Coord 11 | { 12 | /// 13 | /// adjustment 14 | /// 15 | public int Adjustment { get; set; } 16 | /// 17 | /// error 18 | /// 19 | public double Error { get; set; } 20 | /// 21 | /// vec 22 | /// 23 | public int[] Vec { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/Gauge.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel 6 | { 7 | /// 8 | /// gauge 9 | /// 10 | public class Gauge 11 | { 12 | /// 13 | /// name 14 | /// 15 | public string Name { get; set; } 16 | 17 | /// 18 | /// value 19 | /// 20 | public long Value { get; set; } 21 | 22 | /// 23 | /// labels 24 | /// 25 | public object Labels { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Agent/JoinAgent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel 6 | { 7 | /// 8 | /// Join Agent Parmeter 9 | /// 10 | public class JoinAgentParmeter 11 | { 12 | /// 13 | /// Specifies the address of the other agent to join. This is specified as part of the URL. 14 | /// 15 | public string Address { get; set; } 16 | 17 | /// 18 | /// Specifies to try and join over the WAN pool. This is only optional for agents running in server mode. This is specified as part of the URL as a query parameter 19 | /// 20 | public bool Wan { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/ApplicationProcess.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ServiceControlPanel 9 | { 10 | /// 11 | /// 应用进程 12 | /// 13 | public abstract class ApplicationProcess 14 | { 15 | protected Dictionary _proDic; 16 | /// 17 | /// 停止进程 18 | /// 19 | /// 20 | public abstract void StopProcess(dynamic btnCfg); 21 | /// 22 | /// 开始进程 23 | /// 24 | /// 25 | public abstract void StartProcess(dynamic btnCfg); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/FieldNameAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel 6 | { 7 | /// 8 | /// Change Field Name 9 | /// 10 | [AttributeUsage(AttributeTargets.Property,AllowMultiple =false)] 11 | public class FieldNameAttribute:Attribute 12 | { 13 | /// 14 | /// ctor 15 | /// 16 | /// Field Name 17 | public FieldNameAttribute(string changeFieldName) 18 | { 19 | ChangeFieldName = changeFieldName; 20 | 21 | } 22 | /// 23 | /// Changed Field 24 | /// 25 | public string ChangeFieldName { get;private set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace ServiceControlPanel 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// 应用程序的主入口点。 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | Application.Run(new frmMainPanel()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/Raft/ReadConfigurationResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace ServiceControlPanel.Raft 6 | { 7 | /// 8 | /// Read Configuration Result 9 | /// 10 | public class ReadConfigurationResult 11 | { 12 | /// 13 | /// Servers is has information about the servers in the Raft peer configuration: 14 | /// 15 | public Server[] Servers { get; set; } 16 | 17 | /// 18 | /// Index is the Raft corresponding to this configuration. The latest configuration may not yet be committed if changes are in flight. 19 | /// 20 | public int Index { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/cmd/consul.bat: -------------------------------------------------------------------------------- 1 | consul agent -server -datacenter=dc1 -bootstrap -data-dir ./data -config-file ./conf -ui-dir ./dist -node=n1 -bind 192.168.1.104 -client=0.0.0.0 -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/cmd/lisapi.bat: -------------------------------------------------------------------------------- 1 | docker run -it -p 5002:5002 --name lisapi lisapi -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/conf/watchs.json: -------------------------------------------------------------------------------- 1 | {"watches":[{ 2 | "type": "checks", 3 | "handler_type": "http", 4 | "state":"critical", 5 | "http_handler_config": { 6 | "path":"http://localhost:5003/notice", 7 | "method": "POST", 8 | "timeout": "10s", 9 | "header": {"Authorization":["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiZ3N3IiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiYWRtaW4iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL2V4cGlyYXRpb24iOiIyMDIyLzEyLzMxIDEyOjM2OjEyIiwibmJmIjoxNTE0Njk0OTcyLCJleHAiOjE1MTQ3MzA5NzIsImlzcyI6ImdzdyIsImF1ZCI6ImdzdyJ9.jPu1yZ8jORN5QgCuPV50sYOKvX88GLSDiRX_0fpEzU4"]} 10 | } 11 | }] 12 | } -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/conf/xacl.json: -------------------------------------------------------------------------------- 1 | { 2 | "acl_datacenter": "dc1", 3 | "acl_master_token": "0f738123-28ee-4a6d-bd22-8648f99ffdc5", 4 | "acl_default_policy": "allow" 5 | } -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consul.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/consul.exe -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/Readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/consuldocker/Readme.txt -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/consul/config/watchs.json: -------------------------------------------------------------------------------- 1 | {"watches":[{ 2 | "type": "checks", 3 | "handler_type": "http", 4 | "http_handler_config": { 5 | "path":"http://localhost:5001/abc", 6 | "method": "POST", 7 | "timeout": "10s", 8 | "header": {"Authorization":["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiZ2dnIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoic3lzdGVtIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9leHBpcmF0aW9uIjoiMjAxNy8xMi8zMCA0OjA5OjIwIiwibmJmIjoxNTE0NTQyMTYwLCJleHAiOjE1MTQ1NzgxNjAsImlzcyI6ImdzdyIsImF1ZCI6ImdzdyJ9.SAX0mgQwOJAps1aDipN3NZDa_AcK66a2NFG0XsjMa9M"]} 9 | } 10 | }] 11 | } -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/consul/config/xacl.json: -------------------------------------------------------------------------------- 1 | { 2 | "acl_datacenter": "dc1", 3 | "acl_master_token": "0f738123-28ee-4a6d-bd22-8648f99ffdc5", 4 | "acl_default_policy": "allow" 5 | } -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/consul/data/checkpoint-signature: -------------------------------------------------------------------------------- 1 | 089c4182-bd3e-e951-7a32-4faab207dda5 2 | 3 | 4 | This signature is a randomly generated UUID used to de-duplicate 5 | alerts and version information. This signature is random, it is 6 | not based on any personally identifiable information. To create 7 | a new signature, you can simply delete this file at any time. 8 | See the documentation for the software using Checkpoint for more 9 | information on how to disable it. 10 | 11 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/consul/data/node-id: -------------------------------------------------------------------------------- 1 | 342820f6-6114-a2cb-529c-854262eb8b69 -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/consul/data/raft/raft.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/consuldocker/consul/data/raft/raft.db -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/consul/data/serf/local.snapshot: -------------------------------------------------------------------------------- 1 | alive: s1 192.168.1.101:8301 2 | event-clock: 1 3 | alive: s2 192.168.1.126:8301 4 | clock: 1 5 | alive: s1 192.168.1.101:8301 6 | alive: s2 192.168.1.126:8301 7 | event-clock: 2 8 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/consuldocker/consul/data/serf/remote.snapshot: -------------------------------------------------------------------------------- 1 | alive: s1.dc1 192.168.1.101:8302 2 | alive: s2.dc1 192.168.1.126:8302 3 | clock: 1 4 | alive: s1.dc1 192.168.1.101:8302 5 | alive: s2.dc1 192.168.1.126:8302 6 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/data/checkpoint-signature: -------------------------------------------------------------------------------- 1 | ee6fa20c-1a91-248c-0048-4f7e9cca64a0 2 | 3 | 4 | This signature is a randomly generated UUID used to de-duplicate 5 | alerts and version information. This signature is random, it is 6 | not based on any personally identifiable information. To create 7 | a new signature, you can simply delete this file at any time. 8 | See the documentation for the software using Checkpoint for more 9 | information on how to disable it. 10 | 11 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/data/node-id: -------------------------------------------------------------------------------- 1 | 15da6ebc-6de6-45a9-62ff-48adc3b33e67 -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/data/raft/raft.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/data/raft/raft.db -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/data/raft/raft.db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/data/raft/raft.db.lock -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/data/serf/local.keyring: -------------------------------------------------------------------------------- 1 | ["7TnJPB4lKtjEcCWWjN6jSA=="] -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/data/serf/remote.keyring: -------------------------------------------------------------------------------- 1 | ["7TnJPB4lKtjEcCWWjN6jSA=="] -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/GNUmakefile: -------------------------------------------------------------------------------- 1 | ROOT:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) 2 | 3 | server: 4 | python -m SimpleHTTPServer 5 | 6 | watch: 7 | sass styles:static --watch 8 | 9 | dist: 10 | @sh -c "'$(ROOT)/scripts/dist.sh'" 11 | 12 | .PHONY: server watch dist 13 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/Gemfile: -------------------------------------------------------------------------------- 1 | # A sample Gemfile 2 | source "https://rubygems.org" 3 | 4 | gem "uglifier" 5 | gem "sass" 6 | gem "therubyracer" 7 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | execjs (2.3.0) 5 | json (1.8.2) 6 | libv8 (3.16.14.15) 7 | ref (1.0.5) 8 | sass (3.4.11) 9 | therubyracer (0.12.1) 10 | libv8 (~> 3.16.14.0) 11 | ref 12 | uglifier (2.7.0) 13 | execjs (>= 0.3.0) 14 | json (>= 1.8.0) 15 | 16 | PLATFORMS 17 | ruby 18 | 19 | DEPENDENCIES 20 | sass 21 | therubyracer 22 | uglifier 23 | 24 | BUNDLED WITH 25 | 1.12.5 26 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/javascripts/app/mixins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/javascripts/app/mixins.js -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/javascripts/libs/classie.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/javascripts/libs/classie.min.js -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/android-chrome-192x192.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/android-chrome-512x512.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-114x114.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-144x144.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-57x57.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-72x72.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/apple-touch-icon.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/consul-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/consul-logo.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/favicon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/favicon-128.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/favicon-16x16.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/favicon-196x196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/favicon-196x196.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/favicon-32x32.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/favicon-96x96.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/favicon.ico -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/favicon.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/mstile-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/mstile-144x144.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/mstile-150x150.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/mstile-310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/mstile-310x150.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/mstile-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/mstile-310x310.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/static/mstile-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/consul/dist/static/mstile-70x70.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/styles/_mixins.scss: -------------------------------------------------------------------------------- 1 | @mixin transition($transition) { 2 | -webkit-transition: $transition; 3 | -moz-transition: $transition; 4 | -ms-transition: $transition; 5 | -o-transition: $transition; 6 | transition: $transition; 7 | } 8 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/tests/runner.css: -------------------------------------------------------------------------------- 1 | #ember-testing-container { 2 | position: absolute; 3 | bottom: 0; 4 | right: 0; 5 | width: 640px; 6 | height: 384px; 7 | overflow: auto; 8 | z-index: 9999; 9 | border: 1px solid #ccc; 10 | background: white; 11 | } 12 | #ember-testing { 13 | zoom: 50%; 14 | } -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/consul/dist/tests/runner.js: -------------------------------------------------------------------------------- 1 | if (window.location.search.indexOf("?test") !== -1) { 2 | document.write( 3 | '
' + 4 | '
' + 5 | '
' + 6 | '
' + 7 | '
' + 8 | '' + 9 | '' + 10 | '' + 11 | '' 12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Add.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/All.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/All.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/All80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/All80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Allstop80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Allstop80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Consul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Consul.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Consul80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Consul80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/ConsulStop80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/ConsulStop80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Delete.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Docker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Docker.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Docker80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Docker80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/DockerStop80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/DockerStop80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Modify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Modify.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/Query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/Query.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/dotnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/dotnet.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/dotnet80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/dotnet80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/images/dotnetstop80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/ServiceControlPanel/images/dotnetstop80.png -------------------------------------------------------------------------------- /OcelotSample/ServiceControlPanel/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /OcelotSample/TestClient/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OcelotSample/TestClient/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /OcelotSample/TestDesktop/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace TestDesktop 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// 应用程序的主入口点。 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new frmTest()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/TestDesktop/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OcelotSample/TestDesktop/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OcelotSample/TestDesktop02/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OcelotSample/TestDesktop02/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace TestDesktop02 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// 应用程序的主入口点。 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new frmTest()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/TestDesktop02/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OcelotSample/TestDesktop02/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Attributes/HttpActionAttributes/HttpDeleteAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace WebApiClient.Attributes 4 | { 5 | /// 6 | /// 表示Delete请求 7 | /// 不可继承 8 | /// 9 | public sealed class HttpDeleteAttribute : HttpMethodAttribute 10 | { 11 | /// 12 | /// Delete请求 13 | /// 14 | public HttpDeleteAttribute() 15 | : base(HttpMethod.Delete) 16 | { 17 | } 18 | 19 | /// 20 | /// Delete请求 21 | /// 22 | /// 请求绝对或相对路径 23 | public HttpDeleteAttribute(string path) 24 | : base(HttpMethod.Delete, path) 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Attributes/HttpActionAttributes/HttpGetAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace WebApiClient.Attributes 4 | { 5 | /// 6 | /// 表示Get请求 7 | /// 不可继承 8 | /// 9 | public sealed class HttpGetAttribute : HttpMethodAttribute 10 | { 11 | /// 12 | /// Get请求 13 | /// 14 | public HttpGetAttribute() 15 | : base(HttpMethod.Get) 16 | { 17 | } 18 | 19 | /// 20 | /// Get请求 21 | /// 22 | /// 请求绝对或相对路径 23 | public HttpGetAttribute(string path) 24 | : base(HttpMethod.Get, path) 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Attributes/HttpActionAttributes/HttpHeadAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace WebApiClient.Attributes 4 | { 5 | /// 6 | /// 表示Head请求 7 | /// 不可继承 8 | /// 9 | public sealed class HttpHeadAttribute : HttpMethodAttribute 10 | { 11 | /// 12 | /// Head请求 13 | /// 14 | public HttpHeadAttribute() 15 | : base(HttpMethod.Head) 16 | { 17 | } 18 | 19 | /// 20 | /// Head请求 21 | /// 22 | /// 请求绝对或相对路径 23 | public HttpHeadAttribute(string path) 24 | : base(HttpMethod.Head, path) 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Attributes/HttpActionAttributes/HttpOptionsAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace WebApiClient.Attributes 4 | { 5 | /// 6 | /// 表示Options请求 7 | /// 不可继承 8 | /// 9 | public sealed class HttpOptionsAttribute : HttpMethodAttribute 10 | { 11 | /// 12 | /// Options请求 13 | /// 14 | public HttpOptionsAttribute() 15 | : base(HttpMethod.Options) 16 | { 17 | } 18 | 19 | /// 20 | /// Options请求 21 | /// 22 | /// 相对路径 23 | public HttpOptionsAttribute(string path) 24 | : base(HttpMethod.Options, path) 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Attributes/HttpActionAttributes/HttpPostAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace WebApiClient.Attributes 4 | { 5 | /// 6 | /// 表示Post请求 7 | /// 不可继承 8 | /// 9 | public sealed class HttpPostAttribute : HttpMethodAttribute 10 | { 11 | /// 12 | /// Post请求 13 | /// 14 | public HttpPostAttribute() 15 | : base(HttpMethod.Post) 16 | { 17 | } 18 | 19 | /// 20 | /// Post请求 21 | /// 22 | /// 请求绝对或相对路径 23 | public HttpPostAttribute(string path) 24 | : base(HttpMethod.Post, path) 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Attributes/HttpActionAttributes/HttpPutAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace WebApiClient.Attributes 4 | { 5 | /// 6 | /// 表示Put请求 7 | /// 不可继承 8 | /// 9 | public sealed class HttpPutAttribute : HttpMethodAttribute 10 | { 11 | /// 12 | /// Put请求 13 | /// 14 | public HttpPutAttribute() 15 | : base(HttpMethod.Put) 16 | { 17 | } 18 | 19 | /// 20 | /// Put请求 21 | /// 22 | /// 请求绝对或相对路径 23 | public HttpPutAttribute(string path) 24 | : base(HttpMethod.Put, path) 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/DataAnnotations/IgnoreSerializedAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WebApiClient.DataAnnotations 4 | { 5 | /// 6 | /// DataAnnotation 7 | /// 表示当JsonFormatter或KeyValueFormatter序列化对象时,此属性将忽略 8 | /// 9 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] 10 | public sealed class IgnoreSerializedAttribute : Attribute 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/HttpApiConfigException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WebApiClient 4 | { 5 | /// 6 | /// 表示Http接口的特性配置异常 7 | /// 8 | public class HttpApiConfigException : Exception 9 | { 10 | /// 11 | /// Http接口特性配置异常 12 | /// 13 | /// 提示信息 14 | public HttpApiConfigException(string message) : 15 | base(message) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/ITask.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using System.Threading.Tasks; 3 | 4 | namespace WebApiClient 5 | { 6 | /// 7 | /// 定义返回结果的行为 8 | /// 9 | /// 10 | public interface ITask 11 | { 12 | /// 13 | /// 创建请求任务 14 | /// 15 | /// 16 | Task InvokeAsync(); 17 | 18 | /// 19 | /// 调用InvokeAsync 20 | /// 并返回其TaskAwaiter对象 21 | /// 22 | /// 23 | TaskAwaiter GetAwaiter(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IApiActionAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using WebApiClient.Contexts; 3 | 4 | namespace WebApiClient.Interfaces 5 | { 6 | /// 7 | /// 定义ApiAction修饰特性的行为 8 | /// 9 | public interface IApiActionAttribute : IAttributeMultiplable 10 | { 11 | /// 12 | /// 执行前 13 | /// 14 | /// 上下文 15 | /// 16 | Task BeforeRequestAsync(ApiActionContext context); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IApiActionFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using WebApiClient.Contexts; 3 | 4 | namespace WebApiClient.Interfaces 5 | { 6 | /// 7 | /// 定义ApiAction过滤器的行为 8 | /// 9 | public interface IApiActionFilter 10 | { 11 | /// 12 | /// 准备请求之前 13 | /// 14 | /// 上下文 15 | /// 16 | Task OnBeginRequestAsync(ApiActionContext context); 17 | 18 | /// 19 | /// 请求完成之后 20 | /// 21 | /// 上下文 22 | /// 23 | Task OnEndRequestAsync(ApiActionContext context); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IApiActionFilterAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace WebApiClient.Interfaces 2 | { 3 | /// 4 | /// 定义ApiAction过滤器修饰特性的的行为 5 | /// 6 | public interface IApiActionFilterAttribute : IApiActionFilter, IAttributeMultiplable 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IApiInterceptor.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace WebApiClient.Interfaces 4 | { 5 | /// 6 | /// 定义http接口拦截器的行为 7 | /// 8 | public interface IApiInterceptor 9 | { 10 | /// 11 | /// 获取相关的配置 12 | /// 13 | HttpApiConfig ApiConfig { get; } 14 | 15 | /// 16 | /// 拦截方法的调用 17 | /// 18 | /// 接口的实例 19 | /// 接口的方法 20 | /// 接口的参数集合 21 | /// 22 | object Intercept(object target, MethodInfo method, object[] parameters); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IApiParameterAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using WebApiClient.Contexts; 3 | 4 | namespace WebApiClient.Interfaces 5 | { 6 | /// 7 | /// 定义Api参数修饰特性的行为 8 | /// 9 | public interface IApiParameterAttribute 10 | { 11 | /// 12 | /// http请求之前 13 | /// 14 | /// 上下文 15 | /// 特性关联的参数 16 | /// 17 | Task BeforeRequestAsync(ApiActionContext context, ApiParameterDescriptor parameter); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IApiParameterable.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using WebApiClient.Contexts; 3 | 4 | namespace WebApiClient.Interfaces 5 | { 6 | /// 7 | /// 定义自身可以做为参数并进行相应处理的对象的行为 8 | /// 此对象作为参数时,不需要特性修饰 9 | /// 10 | public interface IApiParameterable 11 | { 12 | /// 13 | /// http请求之前 14 | /// 15 | /// 上下文 16 | /// 特性关联的参数 17 | /// 18 | Task BeforeRequestAsync(ApiActionContext context, ApiParameterDescriptor parameter); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IApiReturnAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using WebApiClient.Contexts; 3 | 4 | namespace WebApiClient.Interfaces 5 | { 6 | /// 7 | /// 定义回复内容处理特性的行为 8 | /// 9 | public interface IApiReturnAttribute 10 | { 11 | /// 12 | /// 获取异步结果 13 | /// 14 | /// 上下文 15 | /// 16 | Task GetTaskResult(ApiActionContext context); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IAttributeMultiplable.cs: -------------------------------------------------------------------------------- 1 | namespace WebApiClient.Interfaces 2 | { 3 | /// 4 | /// 定义特性是否允许在接口与方法上重复声明 5 | /// 如果不允许则优先选取方法上的特性 6 | /// 7 | public interface IAttributeMultiplable 8 | { 9 | /// 10 | /// 获取顺序排序的索引 11 | /// 12 | int OrderIndex { get; } 13 | 14 | /// 15 | /// 获取本类型是否允许在接口与方法上重复 16 | /// 17 | bool AllowMultiple { get; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IHttpApiClient.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WebApiClient.Interfaces 4 | { 5 | /// 6 | /// 定义HttpApi客户端的接口 7 | /// 8 | public interface IHttpApiClient : IDisposable 9 | { 10 | /// 11 | /// 获取相关配置 12 | /// 13 | HttpApiConfig ApiConfig { get; } 14 | 15 | /// 16 | /// 获取拦截器 17 | /// 18 | IApiInterceptor ApiInterceptor { get; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IJsonFormatter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WebApiClient.Interfaces 4 | { 5 | /// 6 | /// 定义json序列化/反序列化的行为 7 | /// 8 | public interface IJsonFormatter 9 | { 10 | /// 11 | /// 将对象序列化为json文本 12 | /// 13 | /// 对象 14 | /// 选项 15 | /// 16 | string Serialize(object obj, FormatOptions options); 17 | 18 | /// 19 | /// 将json文本反序列化对象 20 | /// 21 | /// json文本内容 22 | /// 对象类型 23 | /// 24 | object Deserialize(string json, Type objType); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/Interfaces/IXmlFormatter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | 4 | namespace WebApiClient.Interfaces 5 | { 6 | /// 7 | /// 定义xml序列化/反序列化的行为 8 | /// 9 | public interface IXmlFormatter 10 | { 11 | /// 12 | /// 将对象序列化为xml文本 13 | /// 14 | /// 对象 15 | /// 编码 16 | /// 17 | string Serialize(object obj, Encoding encoding); 18 | 19 | /// 20 | /// 将xml文本反序列化对象 21 | /// 22 | /// xml文本内容 23 | /// 对象类型 24 | /// 25 | object Deserialize(string xml, Type objType); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/RetryException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WebApiClient 4 | { 5 | /// 6 | /// 表示重试异常 7 | /// 8 | public class RetryException : Exception 9 | { 10 | /// 11 | /// 重试异常 12 | /// 13 | /// 提示 14 | public RetryException(string message) 15 | : base(message) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /OcelotSample/WebApiClient/WebApiClient.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/WebApiClient/WebApiClient.csproj -------------------------------------------------------------------------------- /OcelotSample/其他测试项目/AspectCore-APMDemo/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore; 7 | using Microsoft.AspNetCore.Hosting; 8 | using Microsoft.Extensions.Configuration; 9 | using Microsoft.Extensions.Logging; 10 | 11 | namespace AspectCore_APMDemo 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | BuildWebHost(args).Run(); 18 | } 19 | 20 | public static IWebHost BuildWebHost(string[] args) => 21 | WebHost.CreateDefaultBuilder(args) 22 | .UseStartup() 23 | .Build(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/其他测试项目/AspectCore-APMDemo/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /OcelotSample/其他测试项目/AspectCore-APMDemo/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Warning" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Warning" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2014-2017 Torkel Ödegaard, Raintank Inc. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you 4 | may not use this file except in compliance with the License. You may 5 | obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 12 | implied. See the License for the specific language governing 13 | permissions and limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/NOTICE.md: -------------------------------------------------------------------------------- 1 | 2 | This software is based on Kibana: 3 | ======================================== 4 | Copyright 2012-2013 Elasticsearch BV 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); you 7 | may not use this file except in compliance with the License. You may 8 | obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 15 | implied. See the License for the specific language governing 16 | permissions and limitations under the License. 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/VERSION: -------------------------------------------------------------------------------- 1 | 4.6.2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/grafana.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/grafana.db -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/1/a/1a89043dd487d0e4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/1/a/1a89043dd487d0e4 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/7/9/79166dbaff84420d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/7/9/79166dbaff84420d -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/b/b/bb6bfd6721af4e46: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/b/b/bb6bfd6721af4e46 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/f/0/f03f713a25b839ad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/f/0/f03f713a25b839ad -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/f/5/f5f266dc9e70c6ce: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/data/sessions/f/5/f5f266dc9e70c6ce -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/app_events.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import {Emitter} from './utils/emitter'; 4 | 5 | var appEvents = new Emitter(); 6 | export default appEvents; 7 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/components/jsontree/jsontree.ts: -------------------------------------------------------------------------------- 1 | import coreModule from 'app/core/core_module'; 2 | import {JsonExplorer} from '../json_explorer/json_explorer'; 3 | 4 | coreModule.directive('jsonTree', [function jsonTreeDirective() { 5 | return{ 6 | restrict: 'E', 7 | scope: { 8 | object: '=', 9 | startExpanded: '@', 10 | rootName: '@', 11 | }, 12 | link: function(scope, elem) { 13 | 14 | var jsonExp = new JsonExplorer(scope.object, 3, { 15 | animateOpen: true 16 | }); 17 | 18 | const html = jsonExp.render(true); 19 | elem.html(html); 20 | } 21 | }; 22 | }]); 23 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/config.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'app/core/settings', 3 | ], 4 | function (Settings) { 5 | "use strict"; 6 | 7 | var bootData = window.grafanaBootData || { settings: {} }; 8 | var options = bootData.settings; 9 | options.bootData = bootData; 10 | 11 | return new Settings(options); 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/controllers/all.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './inspect_ctrl', 3 | './json_editor_ctrl', 4 | './login_ctrl', 5 | './invited_ctrl', 6 | './signup_ctrl', 7 | './reset_password_ctrl', 8 | './error_ctrl', 9 | ], function () {}); 10 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/controllers/error_ctrl.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'angular', 3 | 'app/core/config', 4 | '../core_module', 5 | ], 6 | function (angular, config, coreModule) { 7 | 'use strict'; 8 | 9 | coreModule.default.controller('ErrorCtrl', function($scope, contextSrv, navModelSrv) { 10 | 11 | $scope.navModel = navModelSrv.getNotFoundNav(); 12 | $scope.appSubUrl = config.appSubUrl; 13 | 14 | var showSideMenu = contextSrv.sidemenu; 15 | contextSrv.sidemenu = false; 16 | 17 | $scope.$on('$destroy', function() { 18 | contextSrv.sidemenu = showSideMenu; 19 | }); 20 | 21 | }); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/controllers/json_editor_ctrl.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'angular', 3 | '../core_module', 4 | ], 5 | function (angular, coreModule) { 6 | 'use strict'; 7 | 8 | coreModule.default.controller('JsonEditorCtrl', function($scope) { 9 | 10 | $scope.json = angular.toJson($scope.object, true); 11 | $scope.canUpdate = $scope.updateHandler !== void 0 && $scope.contextSrv.isEditor; 12 | 13 | $scope.update = function () { 14 | var newObject = angular.fromJson($scope.json); 15 | $scope.updateHandler(newObject, $scope.object); 16 | }; 17 | 18 | }); 19 | 20 | }); 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/core_module.ts: -------------------------------------------------------------------------------- 1 | import angular from 'angular'; 2 | export default angular.module('grafana.core', ['ngRoute']); 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/directives/confirm_click.js: -------------------------------------------------------------------------------- 1 | define([ 2 | '../core_module', 3 | ], 4 | function (coreModule) { 5 | 'use strict'; 6 | 7 | coreModule.default.directive('confirmClick', function() { 8 | return { 9 | restrict: 'A', 10 | link: function(scope, elem, attrs) { 11 | elem.bind('click', function() { 12 | var message = attrs.confirmation || "Are you sure you want to do that?"; 13 | if (window.confirm(message)) { 14 | var action = attrs.confirmClick; 15 | if (action) { 16 | scope.$apply(scope.$eval(action)); 17 | } 18 | } 19 | }); 20 | }, 21 | }; 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/directives/give_focus.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import coreModule from '../core_module'; 4 | 5 | coreModule.directive('giveFocus', function() { 6 | return function(scope, element, attrs) { 7 | element.click(function(e) { 8 | e.stopPropagation(); 9 | }); 10 | 11 | scope.$watch(attrs.giveFocus, function (newValue) { 12 | if (!newValue) { 13 | return; 14 | } 15 | setTimeout(function() { 16 | element.focus(); 17 | var domEl = element[0]; 18 | if (domEl.setSelectionRange) { 19 | var pos = element.val().length * 2; 20 | domEl.setSelectionRange(pos, pos); 21 | } 22 | }, 200); 23 | }, true); 24 | }; 25 | }); 26 | 27 | export default {}; 28 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/mod_defs.d.ts: -------------------------------------------------------------------------------- 1 | declare module "app/core/controllers/all" { 2 | let json: any; 3 | export {json}; 4 | } 5 | 6 | declare module "app/core/routes/all" { 7 | let json: any; 8 | export {json}; 9 | } 10 | 11 | declare module "app/core/services/all" { 12 | let json: any; 13 | export default json; 14 | } 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/partials.ts: -------------------------------------------------------------------------------- 1 | var templates = (require).context('../', true, /\.html$/); 2 | templates.keys().forEach(function(key) { 3 | templates(key); 4 | }); 5 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/routes/bundle_loader.ts: -------------------------------------------------------------------------------- 1 | export class BundleLoader { 2 | lazy: any; 3 | 4 | constructor(bundleName) { 5 | var defer = null; 6 | 7 | this.lazy = ["$q", "$route", "$rootScope", ($q, $route, $rootScope) => { 8 | if (defer) { 9 | return defer.promise; 10 | } 11 | 12 | defer = $q.defer(); 13 | 14 | System.import(bundleName).then(() => { 15 | defer.resolve(); 16 | }); 17 | 18 | return defer.promise; 19 | }]; 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/services/all.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './alert_srv', 3 | './util_srv', 4 | './context_srv', 5 | './timer', 6 | './keyboard_manager', 7 | './analytics', 8 | './popover_srv', 9 | './segment_srv', 10 | './backend_srv', 11 | './dynamic_directive_srv', 12 | ], 13 | function () {}); 14 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/settings.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'lodash', 3 | ], 4 | function (_) { 5 | "use strict"; 6 | 7 | return function Settings (options) { 8 | var defaults = { 9 | datasources : {}, 10 | window_title_prefix : 'Grafana - ', 11 | panels : {}, 12 | new_panel_title: 'Panel Title', 13 | playlist_timespan: "1m", 14 | unsaved_changes_warning: true, 15 | appSubUrl: "" 16 | }; 17 | 18 | return _.extend({}, defaults, options); 19 | }; 20 | }); 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/store.js: -------------------------------------------------------------------------------- 1 | define([], function() { 2 | 'use strict'; 3 | 4 | return { 5 | get: function(key) { 6 | return window.localStorage[key]; 7 | }, 8 | set: function(key, value) { 9 | window.localStorage[key] = value; 10 | }, 11 | getBool: function(key, def) { 12 | if (def !== void 0 && !this.exists(key)) { 13 | return def; 14 | } 15 | return window.localStorage[key] === 'true'; 16 | }, 17 | exists: function(key) { 18 | return window.localStorage[key] !== void 0; 19 | }, 20 | delete: function(key) { 21 | window.localStorage.removeItem(key); 22 | } 23 | 24 | }; 25 | 26 | }); 27 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/time_series.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './time_series2' 3 | ], function(timeSeries) { 4 | 'use strict'; 5 | // backward compatability hack; 6 | return timeSeries.default; 7 | }); 8 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/utils/emitter.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import EventEmitter from 'eventemitter3'; 4 | 5 | export class Emitter { 6 | emitter: any; 7 | 8 | constructor() { 9 | this.emitter = new EventEmitter(); 10 | } 11 | 12 | emit(name, data?) { 13 | this.emitter.emit(name, data); 14 | } 15 | 16 | on(name, handler, scope?) { 17 | this.emitter.on(name, handler); 18 | 19 | if (scope) { 20 | var unbind = scope.$on('$destroy', () => { 21 | this.emitter.off(name, handler); 22 | unbind(); 23 | }); 24 | } 25 | } 26 | 27 | removeAllListeners(evt?) { 28 | this.emitter.removeAllListeners(evt); 29 | } 30 | 31 | off(name, handler) { 32 | this.emitter.off(name, handler); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/utils/model_utils.ts: -------------------------------------------------------------------------------- 1 | export function assignModelProperties(target, source, defaults, removeDefaults?) { 2 | for (var key in defaults) { 3 | if (!defaults.hasOwnProperty(key)) { 4 | continue; 5 | } 6 | 7 | target[key] = source[key] === undefined ? defaults[key] : source[key]; 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/utils/react2angular.ts: -------------------------------------------------------------------------------- 1 | import coreModule from 'app/core/core_module'; 2 | 3 | export function react2AngularDirective(name: string, component: any, options: any) { 4 | 5 | coreModule.directive(name, ['reactDirective', reactDirective => { 6 | return reactDirective(component, options); 7 | }]); 8 | 9 | } 10 | 11 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/core/utils/sort_by_keys.ts: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | export default function sortByKeys(input) { 4 | if (_.isArray(input)) { 5 | return input.map(sortByKeys); 6 | } 7 | 8 | if (_.isPlainObject(input)) { 9 | var sortedObject = {}; 10 | for (let key of _.keys(input).sort()) { 11 | sortedObject[key] = sortByKeys(input[key]); 12 | } 13 | return sortedObject; 14 | } 15 | 16 | return input; 17 | } 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/admin/partials/admin_home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 9 | 10 | 11 | Manage Users 12 | 13 | 14 | 15 | Manage Organizations 16 | 17 | 18 | 19 | View Server Settings 20 | 21 | 22 | 23 | View Server Stats 24 | 25 | 26 | 27 | Style guide 28 | 29 | 30 |
31 | 32 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/alerting/all.ts: -------------------------------------------------------------------------------- 1 | import './alert_list_ctrl'; 2 | import './notifications_list_ctrl'; 3 | import './notification_edit_ctrl'; 4 | 5 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/alerting/specs/alert_tab_specs.ts: -------------------------------------------------------------------------------- 1 | import {describe, it, expect} from 'test/lib/common'; 2 | 3 | import {AlertTabCtrl} from '../alert_tab_ctrl'; 4 | 5 | describe('AlertTabCtrl', () => { 6 | var $scope = { 7 | ctrl: {} 8 | }; 9 | 10 | describe('with null parameters', () => { 11 | it('can be created', () => { 12 | var alertTab = new AlertTabCtrl($scope, null, null, null, null, null); 13 | 14 | expect(alertTab).to.not.be(null); 15 | }); 16 | }); 17 | }); 18 | 19 | 20 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/all.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './panellinks/module', 3 | './dashlinks/module', 4 | './annotations/all', 5 | './templating/all', 6 | './plugins/all', 7 | './dashboard/all', 8 | './playlist/all', 9 | './snapshot/all', 10 | './panel/all', 11 | './styleguide/styleguide', 12 | ], function () {}); 13 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/annotations/all.ts: -------------------------------------------------------------------------------- 1 | 2 | import {AnnotationsSrv} from './annotations_srv'; 3 | import {eventEditor} from './event_editor'; 4 | import {EventManager} from './event_manager'; 5 | import {AnnotationEvent} from './event'; 6 | import {annotationTooltipDirective} from './annotation_tooltip'; 7 | 8 | export { 9 | AnnotationsSrv, 10 | eventEditor, 11 | EventManager, 12 | AnnotationEvent, 13 | annotationTooltipDirective, 14 | }; 15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/annotations/event.ts: -------------------------------------------------------------------------------- 1 | 2 | export class AnnotationEvent { 3 | dashboardId: number; 4 | panelId: number; 5 | userId: number; 6 | time: any; 7 | timeEnd: any; 8 | isRegion: boolean; 9 | text: string; 10 | type: string; 11 | tags: string; 12 | } 13 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/dashboard/alerting_srv.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import coreModule from 'app/core/core_module'; 4 | 5 | export class AlertingSrv { 6 | dashboard: any; 7 | alerts: any[]; 8 | 9 | init(dashboard, alerts) { 10 | this.dashboard = dashboard; 11 | this.alerts = alerts || []; 12 | } 13 | } 14 | 15 | 16 | coreModule.service('alertingSrv', AlertingSrv); 17 | 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/dashboard/all.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './dashboard_ctrl', 3 | './alerting_srv', 4 | './history/history', 5 | './dashboardLoaderSrv', 6 | './dashnav/dashnav', 7 | './submenu/submenu', 8 | './save_as_modal', 9 | './save_modal', 10 | './shareModalCtrl', 11 | './shareSnapshotCtrl', 12 | './dashboard_srv', 13 | './viewStateSrv', 14 | './time_srv', 15 | './unsavedChangesSrv', 16 | './unsaved_changes_modal', 17 | './timepicker/timepicker', 18 | './graphiteImportCtrl', 19 | './impression_store', 20 | './upload', 21 | './import/dash_import', 22 | './export/export_modal', 23 | './export_data/export_data_modal', 24 | './ad_hoc_filters', 25 | './row/row_ctrl', 26 | './repeat_option/repeat_option', 27 | ], function () {}); 28 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/dashboard/specs/dashboard_srv_specs.ts: -------------------------------------------------------------------------------- 1 | import {describe, beforeEach} from 'test/lib/common'; 2 | 3 | import {DashboardSrv} from '../dashboard_srv'; 4 | 5 | describe('dashboardSrv', function() { 6 | var _dashboardSrv; 7 | 8 | beforeEach(() => { 9 | _dashboardSrv = new DashboardSrv({}, {}, {}); 10 | }); 11 | 12 | }); 13 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/dashboard/timepicker/settings.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | Auto-refresh 5 | 6 |
7 |
8 | Now delay now- 9 | 14 |
15 |
16 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/org/all.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './org_users_ctrl', 3 | './profile_ctrl', 4 | './org_users_ctrl', 5 | './select_org_ctrl', 6 | './change_password_ctrl', 7 | './newOrgCtrl', 8 | './userInviteCtrl', 9 | './orgApiKeysCtrl', 10 | './orgDetailsCtrl', 11 | './prefs_control', 12 | ], function () {}); 13 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/org/newOrgCtrl.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'angular', 3 | 'app/core/config', 4 | ], 5 | function (angular, config) { 6 | 'use strict'; 7 | 8 | var module = angular.module('grafana.controllers'); 9 | 10 | module.controller('NewOrgCtrl', function($scope, $http, backendSrv, navModelSrv) { 11 | 12 | $scope.navModel = navModelSrv.getOrgNav(0); 13 | $scope.newOrg = {name: ''}; 14 | 15 | $scope.createOrg = function() { 16 | backendSrv.post('/api/orgs/', $scope.newOrg).then(function(result) { 17 | backendSrv.post('/api/user/using/' + result.orgId).then(function() { 18 | window.location.href = config.appSubUrl + '/org'; 19 | }); 20 | }); 21 | }; 22 | 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/panel/all.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './panel_menu', 3 | './panel_directive', 4 | './solo_panel_ctrl', 5 | './query_ctrl', 6 | './panel_editor_tab', 7 | './query_editor_row', 8 | './query_troubleshooter', 9 | ], function () {}); 10 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/panel/partials/soloPanel.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 |
6 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/panel/query_ctrl.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import _ from 'lodash'; 4 | 5 | export class QueryCtrl { 6 | target: any; 7 | datasource: any; 8 | panelCtrl: any; 9 | panel: any; 10 | hasRawMode: boolean; 11 | error: string; 12 | isLastQuery: boolean; 13 | 14 | constructor(public $scope, public $injector) { 15 | this.panel = this.panelCtrl.panel; 16 | this.isLastQuery = _.indexOf(this.panel.targets, this.target) === (this.panel.targets.length - 1); 17 | } 18 | 19 | refresh() { 20 | this.panelCtrl.refresh(); 21 | } 22 | 23 | } 24 | 25 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/playlist/all.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './playlists_ctrl', 3 | './playlist_search', 4 | './playlist_srv', 5 | './playlist_edit_ctrl', 6 | './playlist_routes' 7 | ], function () {}); 8 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/plugins/all.ts: -------------------------------------------------------------------------------- 1 | import './plugin_edit_ctrl'; 2 | import './plugin_page_ctrl'; 3 | import './plugin_list_ctrl'; 4 | import './import_list/import_list'; 5 | import './ds_edit_ctrl'; 6 | import './ds_list_ctrl'; 7 | import './datasource_srv'; 8 | import './plugin_component'; 9 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/plugins/partials/plugin_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 | 6 | 7 |
8 |
9 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/snapshot/all.ts: -------------------------------------------------------------------------------- 1 | import './snapshot_ctrl'; 2 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/features/templating/all.ts: -------------------------------------------------------------------------------- 1 | import './templateSrv'; 2 | import './editor_ctrl'; 3 | 4 | import {VariableSrv} from './variable_srv'; 5 | import {IntervalVariable} from './interval_variable'; 6 | import {QueryVariable} from './query_variable'; 7 | import {DatasourceVariable} from './datasource_variable'; 8 | import {CustomVariable} from './custom_variable'; 9 | import {ConstantVariable} from './constant_variable'; 10 | import {AdhocVariable} from './adhoc_variable'; 11 | 12 | export { 13 | VariableSrv, 14 | IntervalVariable, 15 | QueryVariable, 16 | DatasourceVariable, 17 | CustomVariable, 18 | ConstantVariable, 19 | AdhocVariable, 20 | }; 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/headers/common.d.ts: -------------------------------------------------------------------------------- 1 | declare var System: any; 2 | 3 | declare module 'eventemitter3' { 4 | var config: any; 5 | export default config; 6 | } 7 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/index.ts: -------------------------------------------------------------------------------- 1 | import app from './app'; 2 | app.init(); 3 | 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/partials/edit_json.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

4 | JSON 5 |

6 | 7 | 10 |
11 | 12 |
13 |
14 | 15 |
16 | 17 |
18 | 19 |
20 |
21 |
22 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/partials/modal.html: -------------------------------------------------------------------------------- 1 | 5 | 10 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/app/testdata/datasource/module.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import {TestDataDatasource} from './datasource'; 4 | import {TestDataQueryCtrl} from './query_ctrl'; 5 | 6 | class TestDataAnnotationsQueryCtrl { 7 | annotation: any; 8 | 9 | constructor() { 10 | } 11 | 12 | static template = '

test data

'; 13 | } 14 | 15 | 16 | export { 17 | TestDataDatasource, 18 | TestDataDatasource as Datasource, 19 | TestDataQueryCtrl as QueryCtrl, 20 | TestDataAnnotationsQueryCtrl as AnnotationsQueryCtrl, 21 | }; 22 | 23 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/app/testdata/datasource/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "Grafana TestDataDB", 4 | "id": "grafana-testdata-datasource", 5 | 6 | "metrics": true, 7 | "alerting": true, 8 | "annotations": true, 9 | 10 | "info": { 11 | "author": { 12 | "name": "Grafana Project", 13 | "url": "https://grafana.com" 14 | }, 15 | "logos": { 16 | "small": "", 17 | "large": "" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/app/testdata/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "app", 3 | "name": "Grafana TestData", 4 | "id": "testdata", 5 | 6 | "info": { 7 | "description": "Grafana test data app", 8 | "author": { 9 | "name": "Grafana Project", 10 | "url": "https://grafana.com" 11 | }, 12 | "version": "1.0.17", 13 | "updated": "2016-09-26" 14 | }, 15 | 16 | "includes": [ 17 | { 18 | "type": "dashboard", 19 | "name": "TestData - Graph Last 1h", 20 | "path": "dashboards/graph_last_1h.json" 21 | }, 22 | { 23 | "type": "dashboard", 24 | "name": "TestData - Alerts", 25 | "path": "dashboards/alerts.json" 26 | } 27 | ], 28 | 29 | "dependencies": { 30 | "grafanaVersion": "4.x.x" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/README.md: -------------------------------------------------------------------------------- 1 | # CloudWatch Datasource - Native Plugin 2 | 3 | Grafana ships with **built in** support for CloudWatch. You just have to add it as a data source and you will be ready to build dashboards for you CloudWatch metrics. 4 | 5 | Read more about it here: 6 | 7 | [http://docs.grafana.org/datasources/cloudwatch/](http://docs.grafana.org/datasources/cloudwatch/) -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/datasource.d.ts: -------------------------------------------------------------------------------- 1 | declare var CloudWatchDatasource: any; 2 | export default CloudWatchDatasource; 3 | 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/img/amazon-web-services.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/img/amazon-web-services.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/module.ts: -------------------------------------------------------------------------------- 1 | import './query_parameter_ctrl'; 2 | 3 | import CloudWatchDatasource from './datasource'; 4 | import {CloudWatchQueryCtrl} from './query_ctrl'; 5 | import {CloudWatchConfigCtrl} from './config_ctrl'; 6 | 7 | class CloudWatchAnnotationsQueryCtrl { 8 | static templateUrl = 'partials/annotations.editor.html'; 9 | } 10 | 11 | export { 12 | CloudWatchDatasource as Datasource, 13 | CloudWatchQueryCtrl as QueryCtrl, 14 | CloudWatchConfigCtrl as ConfigCtrl, 15 | CloudWatchAnnotationsQueryCtrl as AnnotationsQueryCtrl, 16 | }; 17 | 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/partials/query.editor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "CloudWatch", 4 | "id": "cloudwatch", 5 | 6 | "metrics": true, 7 | "alerting": true, 8 | "annotations": true, 9 | 10 | "info": { 11 | "author": { 12 | "name": "Grafana Project", 13 | "url": "https://grafana.com" 14 | }, 15 | "logos": { 16 | "small": "img/amazon-web-services.png", 17 | "large": "img/amazon-web-services.png" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/cloudwatch/query_ctrl.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import './query_parameter_ctrl'; 4 | import {QueryCtrl} from 'app/plugins/sdk'; 5 | 6 | export class CloudWatchQueryCtrl extends QueryCtrl { 7 | static templateUrl = 'partials/query.editor.html'; 8 | 9 | aliasSyntax: string; 10 | 11 | /** @ngInject **/ 12 | constructor($scope, $injector) { 13 | super($scope, $injector); 14 | this.aliasSyntax = '{{metric}} {{stat}} {{namespace}} {{region}} {{}}'; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/elasticsearch/README.md: -------------------------------------------------------------------------------- 1 | # Elasticsearch Datasource - Native Plugin 2 | 3 | Grafana ships with **advanced support** for Elasticsearch. You can do many types of simple or complex elasticsearch queries to visualize logs or metrics stored in Elasticsearch. You can also annotate your graphs with log events stored in Elasticsearch. 4 | 5 | Read more about it here: 6 | 7 | [http://docs.grafana.org/datasources/elasticsearch/](http://docs.grafana.org/datasources/elasticsearch/) 8 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/elasticsearch/module.ts: -------------------------------------------------------------------------------- 1 | import {ElasticDatasource} from './datasource'; 2 | import {ElasticQueryCtrl} from './query_ctrl'; 3 | import {ElasticConfigCtrl} from './config_ctrl'; 4 | 5 | class ElasticQueryOptionsCtrl { 6 | static templateUrl = 'partials/query.options.html'; 7 | } 8 | 9 | class ElasticAnnotationsQueryCtrl { 10 | static templateUrl = 'partials/annotations.editor.html'; 11 | } 12 | 13 | export { 14 | ElasticDatasource as Datasource, 15 | ElasticQueryCtrl as QueryCtrl, 16 | ElasticConfigCtrl as ConfigCtrl, 17 | ElasticQueryOptionsCtrl as QueryOptionsCtrl, 18 | ElasticAnnotationsQueryCtrl as AnnotationsQueryCtrl, 19 | }; 20 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/elasticsearch/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "Elasticsearch", 4 | "id": "elasticsearch", 5 | 6 | "info": { 7 | "description": "Elasticsearch Data Source for Grafana", 8 | "author": { 9 | "name": "Grafana Project", 10 | "url": "https://grafana.com" 11 | }, 12 | "keywords": ["elasticsearch"], 13 | "logos": { 14 | "small": "img/elasticsearch.svg", 15 | "large": "img/elasticsearch.svg" 16 | }, 17 | "links": [ 18 | {"name": "elastic.co", "url": "https://www.elastic.co/products/elasticsearch"} 19 | ], 20 | "version": "3.0.0" 21 | }, 22 | 23 | "annotations": true, 24 | "metrics": true, 25 | 26 | "queryOptions": { 27 | "minInterval": true 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/elasticsearch/query_help.md: -------------------------------------------------------------------------------- 1 | #### Alias patterns 2 | - {{term fieldname}} = replaced with value of term group by 3 | - {{metric}} = replaced with metric name (ex. Average, Min, Max) 4 | - {{field}} = replaced with the metric field name 5 | 6 | #### Documentation links 7 | 8 | [Grafana's Elasticsearch Documentation](http://docs.grafana.org/features/datasources/elasticsearch) 9 | 10 | [Official Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html) 11 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/grafana-live/_plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "Grafana Live", 4 | "id": "grafana-live", 5 | 6 | "metrics": true 7 | } 8 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/grafana-live/module.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import {GrafanaStreamDS} from './datasource'; 4 | import {QueryCtrl} from 'app/plugins/sdk'; 5 | 6 | class GrafanaQueryCtrl extends QueryCtrl { 7 | static templateUrl = 'partials/query.editor.html'; 8 | } 9 | 10 | export { 11 | GrafanaStreamDS as Datasource, 12 | GrafanaQueryCtrl as QueryCtrl, 13 | }; 14 | 15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/grafana-live/partials/query.editor.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 |
7 |
8 |
9 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/grafana/README.md: -------------------------------------------------------------------------------- 1 | # Grafana Fake Data Datasource - Native Plugin 2 | 3 | This is the built in Fake Data Datasource that is used before any datasources are set up in your Grafana installation. It means you can create a graph without any data and still get an idea of what it would look like. 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/grafana/partials/query.editor.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 |
6 | 7 |
8 |
9 |
10 |
11 |
12 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/grafana/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "-- Grafana --", 4 | "id": "grafana", 5 | 6 | "builtIn": true, 7 | "annotations": true, 8 | "metrics": true 9 | } 10 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/README.md: -------------------------------------------------------------------------------- 1 | # Graphite Datasource - Native Plugin 2 | 3 | Grafana ships with **built in** support for Graphite (of course!). 4 | 5 | Grafana has an advanced Graphite query editor that lets you quickly navigate the metric space, add functions, change function parameters and much more. The editor can handle all types of graphite queries. It can even handle complex nested queries through the use of query references. 6 | 7 | Read more about it here: 8 | 9 | [http://docs.grafana.org/datasources/graphite/](http://docs.grafana.org/datasources/graphite/) -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/config_ctrl.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | export class GraphiteConfigCtrl { 4 | static templateUrl = 'public/app/plugins/datasource/graphite/partials/config.html'; 5 | current: any; 6 | 7 | /** @ngInject */ 8 | constructor($scope) { 9 | this.current.jsonData = this.current.jsonData || {}; 10 | this.current.jsonData.graphiteVersion = this.current.jsonData.graphiteVersion || '0.9'; 11 | } 12 | 13 | graphiteVersions = [ 14 | {name: '0.9.x', value: '0.9'}, 15 | {name: '1.0.x', value: '1.0'}, 16 | {name: '1.1.x', value: '1.1'}, 17 | ]; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/gfunc.d.ts: -------------------------------------------------------------------------------- 1 | declare var test: any; 2 | export default test; 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/img/graphite_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/img/graphite_logo.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/module.ts: -------------------------------------------------------------------------------- 1 | import {GraphiteDatasource} from './datasource'; 2 | import {GraphiteQueryCtrl} from './query_ctrl'; 3 | import {GraphiteConfigCtrl} from './config_ctrl'; 4 | 5 | class AnnotationsQueryCtrl { 6 | static templateUrl = 'partials/annotations.editor.html'; 7 | } 8 | 9 | export { 10 | GraphiteDatasource as Datasource, 11 | GraphiteQueryCtrl as QueryCtrl, 12 | GraphiteConfigCtrl as ConfigCtrl, 13 | AnnotationsQueryCtrl as AnnotationsQueryCtrl, 14 | }; 15 | 16 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/partials/annotations.editor.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | Graphite query 4 | 5 |
6 | 7 |
Or
8 | 9 |
10 | Graphite events tags 11 | 12 |
13 |
14 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/partials/config.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 |

Graphite details

7 | 8 |
9 |
10 | 11 | Version 12 | 13 | This option controls what functions are available in the Graphite query editor. 14 | 15 | 16 | 17 |
18 |
19 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/graphite/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Graphite", 3 | "type": "datasource", 4 | "id": "graphite", 5 | 6 | "includes": [ 7 | {"type": "dashboard", "name": "Graphite Carbon Metrics", "path": "dashboards/carbon_metrics.json"} 8 | ], 9 | 10 | "metrics": true, 11 | "alerting": true, 12 | "annotations": true, 13 | 14 | "queryOptions": { 15 | "maxDataPoints": true, 16 | "cacheTimeout": true 17 | }, 18 | 19 | "info": { 20 | "author": { 21 | "name": "Grafana Project", 22 | "url": "https://grafana.com" 23 | }, 24 | "logos": { 25 | "small": "img/graphite_logo.png", 26 | "large": "img/graphite_logo.png" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/influxdb/influx_series.d.ts: -------------------------------------------------------------------------------- 1 | declare var test: any; 2 | export default test; 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/influxdb/module.ts: -------------------------------------------------------------------------------- 1 | import InfluxDatasource from './datasource'; 2 | import {InfluxQueryCtrl} from './query_ctrl'; 3 | 4 | class InfluxConfigCtrl { 5 | static templateUrl = 'partials/config.html'; 6 | } 7 | 8 | class InfluxAnnotationsQueryCtrl { 9 | static templateUrl = 'partials/annotations.editor.html'; 10 | } 11 | 12 | export { 13 | InfluxDatasource as Datasource, 14 | InfluxQueryCtrl as QueryCtrl, 15 | InfluxConfigCtrl as ConfigCtrl, 16 | InfluxAnnotationsQueryCtrl as AnnotationsQueryCtrl, 17 | }; 18 | 19 | 20 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/influxdb/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "InfluxDB", 4 | "id": "influxdb", 5 | 6 | "defaultMatchFormat": "regex values", 7 | "metrics": true, 8 | "annotations": true, 9 | "alerting": true, 10 | 11 | "queryOptions": { 12 | "minInterval": true 13 | }, 14 | 15 | "info": { 16 | "author": { 17 | "name": "Grafana Project", 18 | "url": "https://grafana.com" 19 | }, 20 | "logos": { 21 | "small": "img/influxdb_logo.svg", 22 | "large": "img/influxdb_logo.svg" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/influxdb/query_builder.d.ts: -------------------------------------------------------------------------------- 1 | declare var test: any; 2 | export default test; 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/mixed/README.md: -------------------------------------------------------------------------------- 1 | # Mixed Datasource - Native Plugin 2 | 3 | This is a **built in** datasource that allows you to mix different datasource on the same graph! You can enable this by selecting the built in -- Mixed -- data source. When selected this will allow you to specify data source on a per query basis. This will, for example, allow you to plot metrics from different Graphite servers on the same Graph or plot data from Elasticsearch alongside data from Prometheus. Mixing different data sources on the same graph works for any data source, even custom ones. -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/mixed/module.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import {MixedDatasource} from './datasource'; 4 | export {MixedDatasource, MixedDatasource as Datasource}; 5 | 6 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/mixed/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "-- Mixed --", 4 | "id": "mixed", 5 | 6 | "builtIn": true, 7 | "mixed": true, 8 | "metrics": true, 9 | 10 | "queryOptions": { 11 | "minInterval": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/mysql/README.md: -------------------------------------------------------------------------------- 1 | # Grafana Fake Data Datasource - Native Plugin 2 | 3 | This is the built in Fake Data Datasource that is used before any datasources are set up in your Grafana installation. It means you can create a graph without any data and still get an idea of what it would look like. 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/mysql/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "MySQL", 4 | "id": "mysql", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/mysql_logo.svg", 13 | "large": "img/mysql_logo.svg" 14 | } 15 | }, 16 | 17 | "alerting": true, 18 | "annotations": true, 19 | "metrics": true 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/opentsdb/README.md: -------------------------------------------------------------------------------- 1 | # OpenTSDB Datasource - Native Plugin 2 | 3 | Grafana ships with **built in** support for OpenTSDB, a scalable, distributed time series database. 4 | 5 | Read more about it here: 6 | 7 | [http://docs.grafana.org/datasources/opentsdb/](http://docs.grafana.org/datasources/opentsdb/) -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/opentsdb/datasource.d.ts: -------------------------------------------------------------------------------- 1 | declare var OpenTsDatasource: any; 2 | export default OpenTsDatasource; 3 | 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/opentsdb/img/opentsdb_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/opentsdb/img/opentsdb_logo.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/opentsdb/module.ts: -------------------------------------------------------------------------------- 1 | import OpenTsDatasource from './datasource'; 2 | import {OpenTsQueryCtrl} from './query_ctrl'; 3 | import {OpenTsConfigCtrl} from './config_ctrl'; 4 | 5 | class AnnotationsQueryCtrl { 6 | static templateUrl = 'partials/annotations.editor.html'; 7 | } 8 | 9 | export { 10 | OpenTsDatasource as Datasource, 11 | OpenTsQueryCtrl as QueryCtrl, 12 | OpenTsConfigCtrl as ConfigCtrl, 13 | AnnotationsQueryCtrl as AnnotationsQueryCtrl 14 | }; 15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/opentsdb/partials/annotations.editor.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | OpenTSDB metrics query 4 | 5 |
6 | 7 |
8 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/opentsdb/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "OpenTSDB", 4 | "id": "opentsdb", 5 | 6 | "metrics": true, 7 | "defaultMatchFormat": "pipe", 8 | "annotations": true, 9 | "alerting": true, 10 | 11 | "info": { 12 | "author": { 13 | "name": "Grafana Project", 14 | "url": "https://grafana.com" 15 | }, 16 | "logos": { 17 | "small": "img/opentsdb_logo.png", 18 | "large": "img/opentsdb_logo.png" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/postgres/README.md: -------------------------------------------------------------------------------- 1 | # Grafana PostgreSQL Datasource - Native Plugin 2 | 3 | This is the built in PostgreSQL Datasource that is used to connect to PostgreSQL databases. 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/postgres/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "PostgreSQL", 4 | "id": "postgres", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/postgresql_logo.svg", 13 | "large": "img/postgresql_logo.svg" 14 | } 15 | }, 16 | 17 | "alerting": true, 18 | "annotations": true, 19 | "metrics": true 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/prometheus/README.md: -------------------------------------------------------------------------------- 1 | # Prometheus Datasource - Native Plugin 2 | 3 | Grafana ships with **built in** support for Prometheus, the open-source service monitoring system and time series database. 4 | 5 | Read more about it here: 6 | 7 | [http://docs.grafana.org/datasources/prometheus/](http://docs.grafana.org/datasources/prometheus/) 8 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/prometheus/metric_find_query.d.ts: -------------------------------------------------------------------------------- 1 | declare var test: any; 2 | export default test; 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/prometheus/module.ts: -------------------------------------------------------------------------------- 1 | import {PrometheusDatasource} from './datasource'; 2 | import {PrometheusQueryCtrl} from './query_ctrl'; 3 | 4 | class PrometheusConfigCtrl { 5 | static templateUrl = 'partials/config.html'; 6 | } 7 | 8 | class PrometheusAnnotationsQueryCtrl { 9 | static templateUrl = 'partials/annotations.editor.html'; 10 | } 11 | 12 | export { 13 | PrometheusDatasource as Datasource, 14 | PrometheusQueryCtrl as QueryCtrl, 15 | PrometheusConfigCtrl as ConfigCtrl, 16 | PrometheusAnnotationsQueryCtrl as AnnotationsQueryCtrl, 17 | }; 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/prometheus/partials/config.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |
6 |
7 | Scrape interval 8 | 9 | 10 | Set this to your global scrape interval defined in your Prometheus config file. This will be used as a lower limit for 11 | the Prometheus step query parameter. 12 | 13 |
14 |
15 |
16 | 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/prometheus/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "datasource", 3 | "name": "Prometheus", 4 | "id": "prometheus", 5 | 6 | "includes": [ 7 | {"type": "dashboard", "name": "Prometheus Stats", "path": "dashboards/prometheus_stats.json"}, 8 | {"type": "dashboard", "name": "Grafana Stats", "path": "dashboards/grafana_stats.json"} 9 | ], 10 | 11 | "metrics": true, 12 | "alerting": true, 13 | "annotations": true, 14 | 15 | "info": { 16 | "author": { 17 | "name": "Grafana Project", 18 | "url": "https://grafana.com" 19 | }, 20 | "logos": { 21 | "small": "img/prometheus_logo.svg", 22 | "large": "img/prometheus_logo.svg" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/datasource/prometheus/snippets/prometheus.js: -------------------------------------------------------------------------------- 1 | // jshint ignore: start 2 | // jscs: disable 3 | ace.define("ace/snippets/prometheus",["require","exports","module"], function(require, exports, module) { 4 | "use strict"; 5 | 6 | // exports.snippetText = "# rate\n\ 7 | // snippet r\n\ 8 | // rate(${1:metric}[${2:range}])\n\ 9 | // "; 10 | 11 | exports.snippets = [ 12 | { 13 | "content": "rate(${1:metric}[${2:range}])", 14 | "name": "rate()", 15 | "scope": "prometheus", 16 | "tabTrigger": "r" 17 | } 18 | ]; 19 | 20 | exports.scope = "prometheus"; 21 | }); 22 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/alertlist/README.md: -------------------------------------------------------------------------------- 1 | # Alert List Panel - Native plugin 2 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/alertlist/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Alert List", 4 | "id": "alertlist", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-singlestat-panel.svg", 13 | "large": "img/icn-singlestat-panel.svg" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/dashlist/README.md: -------------------------------------------------------------------------------- 1 | # Dashlist Panel - Native Plugin 2 | 3 | This Dashlist panel is **included** with Grafana. 4 | 5 | The dashboard list panel allows you to display dynamic links to other dashboards. The list can be configured to use starred dashboards, a search query and/or dashboard tags. 6 | 7 | Read more about it here: 8 | 9 | [http://docs.grafana.org/reference/dashlist/](http://docs.grafana.org/reference/dashlist/) -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/dashlist/module.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | {{group.header}} 5 |
6 | 16 |
17 |
18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/dashlist/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Dashboard list", 4 | "id": "dashlist", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-dashlist-panel.svg", 13 | "large": "img/icn-dashlist-panel.svg" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/gettingstarted/README.md: -------------------------------------------------------------------------------- 1 | # Plugin List Panel - Native Plugin 2 | 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/gettingstarted/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Getting Started", 4 | "id": "gettingstarted", 5 | 6 | "hideFromList": true, 7 | 8 | "info": { 9 | "author": { 10 | "name": "Grafana Project", 11 | "url": "https://grafana.com" 12 | }, 13 | "logos": { 14 | "small": "img/icn-dashlist-panel.svg", 15 | "large": "img/icn-dashlist-panel.svg" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/graph/README.md: -------------------------------------------------------------------------------- 1 | # Graph Panel - Native Plugin 2 | 3 | The Graph is the main graph panel and is **included** with Grafana. It provides a very rich set of graphing options. 4 | 5 | Read more about it here: 6 | 7 | [http://docs.grafana.org/reference/graph/](http://docs.grafana.org/reference/graph/) -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/graph/graph_tooltip.d.ts: -------------------------------------------------------------------------------- 1 | declare var GraphTooltip: any; 2 | export default GraphTooltip; 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/graph/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Graph", 4 | "id": "graph", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-graph-panel.svg", 13 | "large": "img/icn-graph-panel.svg" 14 | } 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/graph/template.ts: -------------------------------------------------------------------------------- 1 | var template = ` 2 |
3 |
4 | 5 |
6 | {{ctrl.dataWarning.title}} 7 |
8 | 9 |
10 |
11 | 12 |
13 | 14 |
15 |
16 | 17 |
18 | `; 19 | 20 | export default template; 21 | 22 | 23 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/heatmap/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/heatmap/README.md -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/heatmap/display_editor.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | export class HeatmapDisplayEditorCtrl { 4 | panel: any; 5 | panelCtrl: any; 6 | 7 | /** @ngInject */ 8 | constructor($scope) { 9 | $scope.editor = this; 10 | this.panelCtrl = $scope.ctrl; 11 | this.panel = this.panelCtrl.panel; 12 | 13 | this.panelCtrl.render(); 14 | } 15 | } 16 | 17 | /** @ngInject */ 18 | export function heatmapDisplayEditor() { 19 | 'use strict'; 20 | return { 21 | restrict: 'E', 22 | scope: true, 23 | templateUrl: 'public/app/plugins/panel/heatmap/partials/display_editor.html', 24 | controller: HeatmapDisplayEditorCtrl, 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/heatmap/module.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 | {{ctrl.dataWarning.title}} 6 |
7 | 8 |
9 |
10 |
11 | 12 |
13 |
14 |
15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/heatmap/module.ts: -------------------------------------------------------------------------------- 1 | import './color_legend'; 2 | import {HeatmapCtrl} from './heatmap_ctrl'; 3 | 4 | export { 5 | HeatmapCtrl as PanelCtrl 6 | }; 7 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/heatmap/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Heatmap", 4 | "id": "heatmap", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-heatmap-panel.svg", 13 | "large": "img/icn-heatmap-panel.svg" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/pluginlist/README.md: -------------------------------------------------------------------------------- 1 | # Plugin List Panel - Native Plugin 2 | 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/pluginlist/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Plugin list", 4 | "id": "pluginlist", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-dashlist-panel.svg", 13 | "large": "img/icn-dashlist-panel.svg" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/singlestat/README.md: -------------------------------------------------------------------------------- 1 | # Singlestat Panel - Native Plugin 2 | 3 | The Singlestat Panel is **included** with Grafana. 4 | 5 | The Singlestat Panel allows you to show the one main summary stat of a SINGLE series. It reduces the series into a single number (by looking at the max, min, average, or sum of values in the series). Singlestat also provides thresholds to color the stat or the Panel background. It can also translate the single number into a text value, and show a sparkline summary of the series. 6 | 7 | Read more about it here: 8 | 9 | [http://docs.grafana.org/reference/singlestat/](http://docs.grafana.org/reference/singlestat/) -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/singlestat/module.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/singlestat/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Singlestat", 4 | "id": "singlestat", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-singlestat-panel.svg", 13 | "large": "img/icn-singlestat-panel.svg" 14 | } 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/table/README.md: -------------------------------------------------------------------------------- 1 | # Table Panel - Native Plugin 2 | 3 | The Table Panel is **included** with Grafana. 4 | 5 | The table panel is very flexible, supporting both multiple modes for time series as well as for table, annotation and raw JSON data. It also provides date formatting and value formatting and coloring options. 6 | 7 | Check out the [Table Panel Showcase in the Grafana Playground](http://play.grafana.org/dashboard/db/table-panel-showcase) or read more about it here: 8 | 9 | [http://docs.grafana.org/reference/table_panel/](http://docs.grafana.org/reference/table_panel/) -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/table/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Table", 4 | "id": "table", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-table-panel.svg", 13 | "large": "img/icn-table-panel.svg" 14 | } 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/text/README.md: -------------------------------------------------------------------------------- 1 | # Text Panel - Native Plugin 2 | 3 | The Text Panel is **included** with Grafana. 4 | 5 | The Text Panel is a very simple panel that displays text. The source text is written in the Markdown syntax meaning you can format the text. Read [GitHub's Mastering Markdown](https://guides.github.com/features/mastering-markdown/) to learn more. -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/text/module.html: -------------------------------------------------------------------------------- 1 |

2 |

3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/text/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "panel", 3 | "name": "Text", 4 | "id": "text", 5 | 6 | "info": { 7 | "author": { 8 | "name": "Grafana Project", 9 | "url": "https://grafana.com" 10 | }, 11 | "logos": { 12 | "small": "img/icn-text-panel.svg", 13 | "large": "img/icn-text-panel.svg" 14 | } 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/unknown/module.html: -------------------------------------------------------------------------------- 1 |
2 | Unknown panel type: {{ctrl.panel.type}} 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/panel/unknown/module.ts: -------------------------------------------------------------------------------- 1 | 2 | import {PanelCtrl} from 'app/features/panel/panel_ctrl'; 3 | 4 | export class UnknownPanelCtrl extends PanelCtrl { 5 | static templateUrl = 'public/app/plugins/panel/unknown/module.html'; 6 | 7 | /** @ngInject */ 8 | constructor($scope, $injector) { 9 | super($scope, $injector); 10 | } 11 | } 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/app/plugins/sdk.ts: -------------------------------------------------------------------------------- 1 | import {PanelCtrl} from 'app/features/panel/panel_ctrl'; 2 | import {MetricsPanelCtrl} from 'app/features/panel/metrics_panel_ctrl'; 3 | import {QueryCtrl} from 'app/features/panel/query_ctrl'; 4 | import {alertTab} from 'app/features/alerting/alert_tab_ctrl'; 5 | import {loadPluginCss} from 'app/features/plugins/plugin_loader'; 6 | 7 | export { 8 | PanelCtrl, 9 | MetricsPanelCtrl, 10 | QueryCtrl, 11 | alertTab, 12 | loadPluginCss, 13 | }; 14 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/build/dark.cb713f0c8ee22a18f86f.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([7],{789:function(n,c){}},[789]); 2 | //# sourceMappingURL=dark.cb713f0c8ee22a18f86f.js.map -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/build/dark.cb713f0c8ee22a18f86f.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///dark.cb713f0c8ee22a18f86f.js"],"names":["webpackJsonp","789","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,OAMrB","file":"dark.cb713f0c8ee22a18f86f.js","sourcesContent":["webpackJsonp([7],{\n\n/***/ 789:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n\n},[789]);\n\n\n// WEBPACK FOOTER //\n// dark.cb713f0c8ee22a18f86f.js"],"sourceRoot":""} -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/build/grafana.dark.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"grafana.dark.css","sourceRoot":""} -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/build/grafana.light.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"grafana.light.css","sourceRoot":""} -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/build/light.3e01ac5b4f74b4cc68d5.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([6],{790:function(n,c){}},[790]); 2 | //# sourceMappingURL=light.3e01ac5b4f74b4cc68d5.js.map -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/build/light.3e01ac5b4f74b4cc68d5.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///light.3e01ac5b4f74b4cc68d5.js"],"names":["webpackJsonp","790","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,OAMrB","file":"light.3e01ac5b4f74b4cc68d5.js","sourcesContent":["webpackJsonp([6],{\n\n/***/ 790:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n\n},[790]);\n\n\n// WEBPACK FOOTER //\n// light.3e01ac5b4f74b4cc68d5.js"],"sourceRoot":""} -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/emails/README.md: -------------------------------------------------------------------------------- 1 | 2 | html files in this folder are generated from templates and build system in repo_root/emails 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/grafana-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/grafana-icons.eot -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/grafana-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/grafana-icons.ttf -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/grafana-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/grafana-icons.woff -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/fonts/opensans/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2 -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/CopyQuery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/CopyQuery.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/alert_howto_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/alert_howto_new.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/angle_gradient_light_rev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/angle_gradient_light_rev.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/angle_gradient_rev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/angle_gradient_rev.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/background_tease.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/background_tease.jpg -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/check_radio_sheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/check_radio_sheet.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/checkbox.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/checkbox_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/checkbox_white.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/cubes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/cubes.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/envelope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/envelope.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/fav32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/fav32.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/kibana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/kibana.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/light.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/load.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/load.gif -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/load_big.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/load_big.gif -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/logo_transparent_200x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/logo_transparent_200x.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/logo_transparent_200x75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/logo_transparent_200x75.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/logo_transparent_400x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/logo_transparent_400x.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/mixed_styles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/mixed_styles.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/page_header_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/page_header_line.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/small.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/transparent.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/user_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axzxs2001/OcelotSample/d97ba93565d104ede6bf9502dd7463adbc34a3ec/OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/img/user_profile.png -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / 3 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/_font_awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "./font-awesome/variables"; 7 | @import "./font-awesome/mixins"; 8 | @import "./font-awesome/path"; 9 | @import "./font-awesome/core"; 10 | @import "./font-awesome/larger"; 11 | @import "./font-awesome/fixed-width"; 12 | @import "./font-awesome/list"; 13 | @import "./font-awesome/bordered-pulled"; 14 | @import "./font-awesome/animated"; 15 | @import "./font-awesome/rotated-flipped"; 16 | @import "./font-awesome/stacked"; 17 | @import "./font-awesome/icons"; 18 | @import "./font-awesome/screen-reader"; 19 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/_grid.scss: -------------------------------------------------------------------------------- 1 | 2 | // Container widths 3 | // 4 | // Set the container width, and override it for fixed navbars in media queries. 5 | 6 | .container { 7 | @include make-container(); 8 | @include make-container-max-widths(); 9 | } 10 | 11 | // Fluid container 12 | // 13 | // Utilizes the mixin meant for fixed width containers, but without any defined 14 | // width for fluid, full width layouts. 15 | 16 | .container-fluid { 17 | @include make-container(); 18 | } 19 | 20 | // Row 21 | // 22 | // Rows contain and clear the floats of your columns. 23 | 24 | .row { 25 | @include make-row(); 26 | } 27 | 28 | // Columns 29 | // 30 | // Common styles for small and large grid columns 31 | 32 | @include make-grid-columns(); 33 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/font-awesome/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/font-awesome/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/font-awesome/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/font-awesome/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/font-awesome/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/font-awesome/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/base/font-awesome/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_footer.scss: -------------------------------------------------------------------------------- 1 | .page-dashboard .footer { 2 | display: none; 3 | } 4 | 5 | .footer { 6 | color: $footer-link-color; 7 | padding: 5rem 0 1rem 0; 8 | font-size: $font-size-xs; 9 | width: 98%; /* was causing horiz scrollbars - need to examine */ 10 | 11 | a { 12 | color: $footer-link-color; 13 | 14 | &:hover { 15 | color: $footer-link-hover; 16 | } 17 | } 18 | 19 | ul { 20 | list-style: none; 21 | } 22 | 23 | li { 24 | display: inline-block; 25 | padding-right: 2px; 26 | &::after { 27 | content: ' | '; 28 | padding-left: 2px; 29 | } 30 | } 31 | 32 | li:last-child { 33 | &::after { 34 | padding-left: 0; 35 | content: ''; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_icon-picker.scss: -------------------------------------------------------------------------------- 1 | .gf-icon-picker { 2 | width: 400px; 3 | height: 450px; 4 | 5 | .icon-filter { 6 | padding-bottom: 10px; 7 | margin: auto; 8 | width: 50%; 9 | } 10 | 11 | .icon-container { 12 | max-height: 350px; 13 | overflow: auto; 14 | 15 | .gf-event-icon { 16 | margin: 0.4rem; 17 | height: 1.5rem; 18 | } 19 | } 20 | } 21 | 22 | .gf-icon-picker-button { 23 | .gf-event-icon { 24 | height: 1.2rem; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_old_stuff.scss: -------------------------------------------------------------------------------- 1 | 2 | .editor-row { 3 | vertical-align: top; 4 | } 5 | 6 | .section { 7 | margin-right: 3rem; 8 | vertical-align: top; 9 | display: inline-block; 10 | } 11 | 12 | div.editor-option { 13 | vertical-align: top; 14 | display: inline-block; 15 | margin-right: 10px; 16 | } 17 | 18 | div.editor-option label { 19 | display: block; 20 | } 21 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_panel_alertlist.scss: -------------------------------------------------------------------------------- 1 | .panel-alert-list { 2 | overflow-y: auto; 3 | } 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_panel_dashlist.scss: -------------------------------------------------------------------------------- 1 | .dashlist-section-header { 2 | margin-bottom: $spacer; 3 | color: $text-color-weak; 4 | } 5 | 6 | .dashlist-section { 7 | margin-bottom: $spacer; 8 | } 9 | 10 | .dashlist-link { 11 | display: block; 12 | margin: 5px; 13 | padding: 7px; 14 | background-color: $tight-form-bg; 15 | .fa { 16 | float: right; 17 | padding-top: 3px; 18 | } 19 | .fa-star { 20 | color: $orange; 21 | } 22 | 23 | &:hover { 24 | background-color: $tight-form-func-bg; 25 | } 26 | } 27 | 28 | 29 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_panel_text.scss: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_query_part.scss: -------------------------------------------------------------------------------- 1 | 2 | .query-part { 3 | background-color: $input-bg !important; 4 | 5 | &.show-function-controls { 6 | padding-top: 5px; 7 | min-width: 100px; 8 | text-align: center; 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/components/_typeahead.scss: -------------------------------------------------------------------------------- 1 | 2 | // typeahead max height 3 | .typeahead { 4 | max-height: 300px; 5 | overflow-y: auto; 6 | } 7 | 8 | .typeahead strong { 9 | color: $yellow; 10 | } 11 | 12 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/fonts.scss: -------------------------------------------------------------------------------- 1 | @import "base/fonts"; 2 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/grafana.dark.scss: -------------------------------------------------------------------------------- 1 | @import "variables"; 2 | @import "variables.dark"; 3 | @import "grafana"; 4 | 5 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/grafana.light.scss: -------------------------------------------------------------------------------- 1 | @import "variables"; 2 | @import "variables.light"; 3 | @import "grafana"; 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/layout/_lists.scss: -------------------------------------------------------------------------------- 1 | 2 | .ui-list { 3 | margin: 0; 4 | padding: 0; 5 | list-style: none; 6 | 7 | > li { 8 | margin-bottom: 0.3125rem; 9 | 10 | &:last-child { 11 | margin-bottom: 0; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/pages/_admin.scss: -------------------------------------------------------------------------------- 1 | 2 | .admin-settings-section { 3 | color: $variable; 4 | font-weight: bold; 5 | } 6 | 7 | td.admin-settings-key { 8 | padding-left: 20px; 9 | } 10 | 11 | .admin-list-table { 12 | margin-bottom: 20px; 13 | } 14 | 15 | .admin-list-paging { 16 | float: right; 17 | li { 18 | display: inline-block; 19 | padding-left: 10px; 20 | margin-bottom: 5px; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/pages/_signup.scss: -------------------------------------------------------------------------------- 1 | .signup-page-container { 2 | position: fixed; 3 | top: 0; 4 | left: 0; 5 | right: 0; 6 | bottom: 0; 7 | height: 100%; 8 | width: 100%; 9 | background-image: url(/img/background_tease.jpg); 10 | 11 | .signup-logo-container { 12 | width: 150px; 13 | margin: 0 auto; 14 | padding: 80px 0; 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/pages/_styleguide.scss: -------------------------------------------------------------------------------- 1 | .style-guide-color-card { 2 | list-style: none; 3 | margin: 0; 4 | padding: $spacer; 5 | width: 100%; 6 | text-align: left; 7 | text-shadow: 0 0 8px #fff; 8 | color: $black; 9 | font-size: $font-size-sm; 10 | } 11 | 12 | .color-card-body-bg { background-color: $body-bg; } 13 | .color-card-page-bg { background-color: $page-bg; } 14 | .color-card-gray { background-color: $gray-1; } 15 | 16 | .style-guide-button-list { 17 | padding: $spacer; 18 | button { 19 | display: block; 20 | margin: 0 $spacer $spacer 0; 21 | } 22 | } 23 | 24 | .style-guide-icon-list { 25 | font-size: 1.8em; 26 | text-align: center; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/utils/_angular.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | [ng\:cloak], [ng-cloak], .ng-cloak { 4 | display: none !important; 5 | } 6 | 7 | 8 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/utils/_validation.scss: -------------------------------------------------------------------------------- 1 | input[type=text].ng-dirty.ng-invalid { 2 | } 3 | 4 | input.validation-error, 5 | input.ng-dirty.ng-invalid { 6 | box-shadow: inset 0 0px 5px $red; 7 | } 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/sass/utils/_widths.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | .max-width { width: 100%; } 4 | .width-auto { width: auto; } 5 | 6 | // widths 7 | @for $i from 1 through 30 { 8 | .width-#{$i} { 9 | width: ($spacer * $i) - $gf-form-margin !important; 10 | } 11 | } 12 | 13 | @for $i from 1 through 30 { 14 | .max-width-#{$i} { 15 | max-width: ($spacer * $i) - $gf-form-margin !important; 16 | flex-grow: 1; 17 | } 18 | } 19 | 20 | @for $i from 1 through 30 { 21 | .offset-width-#{$i} { 22 | margin-left: ($spacer * $i) !important; 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/test/core/utils/flatten_specs.ts: -------------------------------------------------------------------------------- 1 | import {describe, it, expect} from 'test/lib/common'; 2 | 3 | import flatten from 'app/core/utils/flatten'; 4 | 5 | describe("flatten", () => { 6 | 7 | it('should return flatten object', () => { 8 | var flattened = flatten({ 9 | level1: 'level1-value', 10 | deeper: { 11 | level2: 'level2-value', 12 | deeper: { 13 | level3: 'level3-value' 14 | } 15 | } 16 | }, null); 17 | 18 | expect(flattened['level1']).to.be('level1-value'); 19 | expect(flattened['deeper.level2']).to.be('level2-value'); 20 | expect(flattened['deeper.deeper.level3']).to.be('level3-value'); 21 | }); 22 | 23 | }); 24 | 25 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/test/lib/common.ts: -------------------------------------------------------------------------------- 1 | var _global = (window); 2 | var beforeEach = _global.beforeEach; 3 | var afterEach = _global.afterEach; 4 | var before = _global.before; 5 | var describe = _global.describe; 6 | var it = _global.it; 7 | var sinon = _global.sinon; 8 | var expect = _global.expect; 9 | 10 | var angularMocks = { 11 | module: _global.module, 12 | inject: _global.inject, 13 | }; 14 | 15 | export { 16 | beforeEach, 17 | afterEach, 18 | before, 19 | describe, 20 | it, 21 | sinon, 22 | expect, 23 | angularMocks, 24 | }; 25 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/test/mocks/dashboard-mock.js: -------------------------------------------------------------------------------- 1 | define([], 2 | function() { 3 | 'use strict'; 4 | 5 | return { 6 | create: function() { 7 | return { 8 | title: "", 9 | tags: [], 10 | style: "dark", 11 | timezone: 'browser', 12 | editable: true, 13 | failover: false, 14 | panel_hints: true, 15 | rows: [], 16 | pulldowns: [ { type: 'templating' }, { type: 'annotations' } ], 17 | nav: [ { type: 'timepicker' } ], 18 | time: {from: 'now-6h', to: 'now'}, 19 | templating: { 20 | list: [] 21 | }, 22 | refresh: '10s', 23 | }; 24 | } 25 | }; 26 | }); 27 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/test/specs/app_specs.ts: -------------------------------------------------------------------------------- 1 | import {describe, it, expect} from 'test/lib/common'; 2 | 3 | import {GrafanaApp} from 'app/app'; 4 | 5 | describe('GrafanaApp', () => { 6 | 7 | var app = new GrafanaApp(); 8 | 9 | it('can call inits', () => { 10 | expect(app).to.not.be(null); 11 | }); 12 | }); 13 | 14 | 15 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/test/specs/helpers.d.ts: -------------------------------------------------------------------------------- 1 | declare let helpers: any; 2 | export default helpers; 3 | 4 | 5 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/vendor/d3/d3.js: -------------------------------------------------------------------------------- 1 | // Import main D3.js module and combine it with another 2 | var d3 = Object.assign({}, require('./d3.v4.min.js'), require('./d3-scale-chromatic.min.js')); 3 | module.exports = d3; 4 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/public/vendor/plugin-text/text.js: -------------------------------------------------------------------------------- 1 | /* 2 | Text plugin 3 | */ 4 | exports.translate = function(load) { 5 | load.metadata.format = 'amd'; 6 | return 'def' + 'ine(function() {\nreturn "' + load.source 7 | .replace(/(["\\])/g, '\\$1') 8 | .replace(/[\f]/g, "\\f") 9 | .replace(/[\b]/g, "\\b") 10 | .replace(/[\n]/g, "\\n") 11 | .replace(/[\t]/g, "\\t") 12 | .replace(/[\r]/g, "\\r") 13 | .replace(/[\u2028]/g, "\\u2028") 14 | .replace(/[\u2029]/g, "\\u2029") 15 | + '";\n});'; 16 | } 17 | -------------------------------------------------------------------------------- /OcelotSample/工具和文档/Metrics/grafana-4.6.2/scripts/trigger_docker_build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | _circle_token=$1 4 | _grafana_version=$2 5 | 6 | trigger_build_url=https://circleci.com/api/v1/project/grafana/grafana-docker/tree/master?circle-token=${_circle_token} 7 | 8 | post_data=$(cat <