GraphQL

GraphQL 基础

参照Getting started with GraphQL Java and Spring Boot这篇文章学习即可

PS:可以使用 brew install --cask graphql-playground 安装 graphql for mac 客户端。

IDEA 怎么调试 GraphQL 应用

安装 JS GraphQL 插件

点击JS GraphQL安装插件

GraphQL 定义

schema.graphqls

type Query {bookById(id: ID): Book
}type Book {id: IDname: StringpageCount: Intauthor: Author
}type Author {id: IDfirstName: StringlastName: String
}

GraphQL 配置文件

.graphqlconfig

{"name": "book-details","schemaPath": "schema.graphqls","extensions": {"endpoints": {"Default GraphQL Endpoint": {"url": "http://localhost:8080/graphql", // 请求路径"headers": {"user-agent": "JS GraphQL"},"introspect": false}}}
}

创建一个查询文件

query.graphql

# {"id": "book-1"}
query queryData($id: ID) {bookById(id: $id) {id name pageCount author {id firstName lastName}}
}

GraphQL 脚本目录结构

resources
├── .graphqlconfig  # 配置文件
├── query.graphql   # 查询文件
└── schema.graphqls # 定义文件

执行结果

GraphQL 在 Skywalking 中的应用

graphql 协议文件路径: oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol

GraphQL 配置文件

.graphqlconfig

{"name": "skywalking","schemaPath": "schema.graphql","extensions": {"endpoints": {"Default GraphQL Endpoint": {"url": "http://localhost:8080/graphql","headers": {"user-agent": "JS GraphQL"},"introspect": true}}}
}

创建一个查询文件

query.graphql

query queryData {readMetricsValues(duration: {start: "2021-07-03 1400",end: "2021-07-03 1401", step: MINUTE},condition: {name: "instance_jvm_thread_runnable_thread_count",entity: {scope: ServiceInstance,serviceName: "business-zone::projectA",serviceInstanceName: "e8cf34a1d54a4058a8c98505877770e2@192.168.50.113",normal: true}}) { label values{ values{ id value }}}
}

执行结果

{"data": {"readMetricsValues": {"values": {"values": [{"id": "202107031400_YnVzaW5lc3Mtem9uZTo6cHJvamVjdEE=.1_ZThjZjM0YTFkNTRhNDA1OGE4Yzk4NTA1ODc3NzcwZTJAMTkyLjE2OC41MC4xMTM=","value": 22},{"id": "202107031401_YnVzaW5lc3Mtem9uZTo6cHJvamVjdEE=.1_ZThjZjM0YTFkNTRhNDA1OGE4Yzk4NTA1ODc3NzcwZTJAMTkyLjE2OC41MC4xMTM=","value": 22}]}}}
}

参考文档

  • Query Protocol
  • GraphQL官网
  • Getting started with GraphQL Java and Spring Boot
  • graphql-java/tutorials/book-details
  • graphql-playground
  • JS GraphQL

Skywalking-10:Skywalking查询协议——GraphQL相关推荐

  1. Skywalking-11:Skywalking查询协议——案例分析

    以查询 Metrics 信息案例来分析 Skywalking 查询协议 基本概述 Skywalking 查询协议默认基于 GraphQL ,如果有需要也可以自定义扩展,提供一个实现了 org.apac ...

  2. 怎样从10亿查询词找出出现频率最高的10个

    1. 问题描述 在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为"top K"问题,如:在搜索引 ...

  3. 计算机网络之数据链路层:10、CSMA协议-随机访问介质访问控制

    数据链路层:10.CSMA协议-随机访问介质访问控制 思维导图: 载波监听多路访问协议(CSMA): 1-坚持CSMA: 非坚持CSMA: p-坚持CSMA: 三种CSMA对比: 思维导图: 载波监听 ...

  4. 寻找热门查询,300万个查询字符串中统计最热门的10个查询

    寻找热门查询,300万个查询字符串中统计最热门的10个查询 #include #include #include struct QueryInfo{ string s; int times; Quer ...

  5. 2亿数据量PostgreSQL 10.4查询调优思路分享

    目录 ●背景 ●使用物理服务器 ●增加内存大小 ●使用NVMe协议的固态硬盘 ●将数据库安装在内存 ●业务调整 ●修改默认配置项 ●启用Gin (Generalized Inverted Index) ...

  6. 【Elasticsearch】10分钟查询一个petabyte的云存储容量

    1.概述 翻译:Querying a petabyte of cloud storage in 10 minutes Elastic的新冻结数据层将计算与存储解耦,并利用低成本的对象存储(如谷歌Clo ...

  7. 俄油与中石油达成为期10年的协议;苏伊士完成股东联合体收购,苏冰岚履职首席执行官 | 能动...

    石油和化工 燕山石化制氢项目顺利通过依据T/CAB 0078-2020<低碳氢.清洁氢及可再生氢标准及评级>的审核,并获得由TUV南德意志集团颁发的全国首张清洁氢证书.作为2022年北京冬 ...

  8. 10 快速生成树协议RSTP配置

    借鉴网址:(27条消息) Packet Tracer 思科模拟器入门教程 之八 快速生成树协议RSTP配置_柚子君.的博客-CSDN博客_思科模拟器生成树配置 姓 名 彭彭头 实验日期 2022.04 ...

  9. QGIS 3.10 空间查询

    空间查询是GIS的特色功能之一,通过一个图层与另一个图层的空间关系(相交.包含.相接等),空间查询可以筛选出满足"空间"条件的要素(feature).QGIS中,空间查询功能由[按 ...

最新文章

  1. android自定义调节器控件 —— RegulatorView
  2. PAT甲级题目翻译+答案 AcWing(字符串处理)
  3. RabbitMQ负载均衡
  4. 发送当前IP到我的手机
  5. java保留两位小数怎么_java保留两位小数4种方法
  6. [NOI2003]Editor [AHOI2006]文本编辑器editor BZOJ1507BZOJ1269
  7. db.serverStatus()
  8. 通用权限系统快速开发框架
  9. 电信sdn虚拟服务器,数据中心SDN网络的构建及通信业务与光纤引入
  10. PeckShield旗下数字资产反洗钱系统CoinHolmes亮相北京网络安全大会!
  11. Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
  12. javascript特效大全
  13. java class文件比较_Beyound Compare中比较java字节码class文件
  14. 新增业务订单设计——产品形态随想
  15. matlab中stract用法_matlab初学之strcat、num2str
  16. Android参考之代号、标签和版本号
  17. 浅谈STM32的三种Boot模式
  18. Pycharm 报错 Environment location directory is not empty 解决
  19. Linux:ls命令
  20. python数据挖掘需要学的内容

热门文章

  1. Kiwi浏览器 MIUI禁第三方广告 ADB停用系统应用
  2. 封装 Vue.js 组件库
  3. jquery ajax 跨域解决方案 - CORS
  4. 如何使用COMPUTER VISION将LEPRECHAUN-HATS放入您的网站
  5. vue.js视频课程_在此免费课程中学习Vue.js! ✨
  6. 募捐名单_年度捐款,以及为什么现在应该捐款,而不是以后
  7. ubuntu离线安装依赖
  8. python+selenium h5QQ空间自动点赞器
  9. Freeswitch NAT问题
  10. scrapyd远程连接配置