当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:计算页面视图-执行器

左康安
2023-03-14

我要求计算每个endpoint上的视图。其思想是为所有endpoint创建一个公共的请求计数映射,该映射应该基于动态输入的endpoint返回视图计数。

假设有人想检查http://localhost:8080/user/101上的视图计数。

    null

我一直在讨论如何将动态请求发送到http://localhost:8080/actulator/metrics/http.server.requests?tag=uri:/user/101,并返回它的响应并获得计数值

@RequestMapping(path="/admin/count",method=RequestMethod.POST)
public JSONObject count(@RequestParam(name="url") final String url)//@PathVariable(name="url") final String url
{   
    String finalURL = "http://localhost:8080/actuator/metrics/http.server.requests?tag=uri:" + url + "";
    return sendRequestToURL(finalURL);  
}
@RequestMapping(path="/{finalURL}",method=RequestMethod.GET)
public JSONObject sendRequestToURL(@PathVariable("finalURL") String url)
{
    //How to return the response Here
}

这是直接激发URL时得到的结果

获取:http://localhost:8080/acturet/metrics/http.server.requests?tag=uri:/user/101

  {
    "name": "http.server.requests",
    "description": null,
    "baseUnit": "seconds",
    "measurements": [
        {
            "statistic": "COUNT",
            "value": 1
        },
        {
            "statistic": "TOTAL_TIME",
            "value": 0.3229436
        },
        {
            "statistic": "MAX",
            "value": 0.3229436
        }
    ],
    "availableTags": [
        {
            "tag": "exception",
            "values": [
                "None"
            ]
        },
        {
            "tag": "method",
            "values": [
                "GET"
            ]
        },
        {
            "tag": "outcome",
            "values": [
                "SUCCESS"
            ]
        },
        {
            "tag": "status",
            "values": [
                "200"
            ]
        }
    ]
}

环境:

    `spring boot 2.1.2.RELEASE`
    <java.version>1.8</java.version>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

共有1个答案

公西俊民
2023-03-14

因此您希望用/admin/count封装acture/metrics

Java中有多种调用Rest API的方法和库

我会加上一个最简单的

public JSONObject sendRequestToURL(@PathVariable("finalURL") String urlToRead)
{
      StringBuilder result = new StringBuilder();
      URL url = new URL(urlToRead);
      HttpURLConnection conn = (HttpURLConnection) url.openConnection();
      conn.setRequestMethod("GET");
      BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
      String line;
      while ((line = rd.readLine()) != null) {
         result.append(line);
      }
      rd.close();
      return new JSONObject(result.toString());  // org.json
}
String strJson = result.toString().replace("\\\"","'");
JSONObject jo = new JSONObject(strJson.substring(1,json.length()-1));
return jo;

编辑2:

我猜你的Spring保安已经到位了。

并且当您在内部调用API时,Spring将其视为需要身份验证的外部调用。

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable().authorizeRequests()
     .antMatchers("/actuator*").permitAll()

     ...
}
<security:http  auto-config="true"  use-expressions="true"   >
    <security:intercept-url pattern="/actuator*" access="permitAll"/>

    ...
</security:http>

希望Spring security会忽略这个URL,您也不会得到登录表单。

 类似资料:
  • 本文向大家介绍asp.net计算每个页面执行时间的方法,包括了asp.net计算每个页面执行时间的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了asp.net计算每个页面执行时间的方法。分享给大家供大家参考。具体分析如下: 这里的asp.net代码可实现计算每个页面的执行时间,无需要修改页面的相关代码,这段代码会给所有的页面统一加上执行时间显示 希望本文所述对大家的asp.net程序

  • 更新:一面过了,求保佑🙏 ————————————————— 面试官是个6k引的老师,很犀利 首先双方自我介绍, 1.拷打论文 2.我说的啰哩啰嗦的,打开论文讲,讲贡献创新,三句话足够 3.拷打完问我怎么设计一个3d文生图pipeline,看得少乱扯 4.对图生图的了解(ip- adapter controlnet 5.ddpm与ddim区别(denoising区别, 6.为什么ddim比ddp

  • 我用SpringBoot创建了一个简单的演示应用程序,其中包括执行器。带有@Scheduled注释的任务显示在执行器中,但以编程方式启动的任务不会显示。有没有办法让他们也出现? 我已经注释了@Enable调度。 我的组件如下所示: 执行器的结果仅显示带注释的任务:

  • 我想先除,然后乘,但不知道怎么做这两个想法? 它在工作,但它只是分裂的时刻。

  • 有一个选择题,类型这样? 喜欢吃什么? 下拉选择控件 A: 苹果 下拉选择控件 B: 香蕉 下拉选择控件 C: 葡萄 下拉选择控件 D: 橘子 下拉选择控件 对应json数据如下: 逻辑: 当exp有值时下拉选择控件不可选择,否则可以选择,当B选择是时,A选项满足b==1,此时A要自动勾选是,C满足a==1,也要自动勾选是, 标题也满足也要自动勾选是。 这个表达式是可以自定义,基本就是这样 下拉控

  • 更新:已经进入hr面 ———————————————- 二面面试官经验也很丰富,对技术的考查不多 上来先确认 工作地点和部门 上海腾讯优图实验室 1. 两分钟自我介绍 2. 对简历上哪个工作认为最好 3. 打开ppt简短介绍一下 4. 那个工作的前置工作是哪个(MasaCtrl) 5. 生成评价指标(clip i2i t2i lpips fid等) 6. 怎么判断生成异常歧义的指标(我想不出来没接