GraphOps Update June 2024

:astronaut: Executive Summary

The GraphOps team is proud to share this month’s achievements across our workstreams!

Regarding GraphSeer, our recent updates include new generic components for better modularity, enhanced data loading processes, native data storage types, and separate components for managing raw and calculated data, improving both usability and performance.

For Subgraph Radio, version 1.0.6 has been released. We’ve improved memory usage by switching from native-tls to rustls, a TLS library written entirely in Rust. This change has led to a significant reduction in peak memory usage and the number of memory allocation calls.

Within Launchpad, we’ve hosted Hosted LOH #17 as a continuity session on chart development and LOH #18 on Fedora CoreOS. We released updates to multiple Namespaces and Charts and announced official support for Polygon in Launchpad.

On Network Operations, we have released fixes for the performance issues for the Analytics Subgraph, and reverted pruning settings on the Core Network Subgraph. We have also participated in testing of the decentralized Subgraph Availability Oracle.

Additionally, we would like to socialize with the community that development work on the File Data Service has been temporarily paused. After careful consideration, we have determined that reallocating our resources to other initiatives will be more beneficial for the network in the short term.

Happy June everyone :sparkles:

:tada: Looking Back (what was delivered)

Subgraph Radio (Documentation, Docker Image, Radio Crate, Radio Source)

Subgraph Radio Development Activity
  • Subgraph Radio pull requests merged:
    • PR #149, PR #151: Updated the README and fully removed dependency on native-tls to enhance the project’s robustness and documentation accuracy.
    • PR #152, PR #153: Released versions 1.0.5 and 1.0.6.

Graphcast SDK (Documentation, SDK Crate, SDK Source)

  • Conducted a thorough investigation into memory leak issues. Detailed report available here.
  • Based on the investigation findings, discontinued the use of native-tls across the SDK and Subgraph Radio, eliminating reliance on OpenSSL for Linux builds and operations.
  • Added arbitrum-sepolia to the supported networks list in the SDK
  • Released Graphcast SDK 0.7.2
Graphcast SDK Development Activity
  • Graphcast SDK pull requests merged:
    • PR #327: Removed dependency on native-tls entirely to streamline operations
    • PR #328: Released version 0.7.2, reflecting the latest advancements and improvements
    • PR #329: Added support for Arb Sepolia, expanding the SDK’s compatibility and reach

GraphSeer (Launch the app)

  • Introduced new generic components for values and terms to enhance modularity.
  • Implemented more detailed loading processes for better performance tracking.
  • Utilized native types in data storage for improved efficiency.
  • Developed higher order components and decoupled queries, calculations, and stores for greater flexibility.
  • Established separate stores for raw and calculated data to streamline data management.

Launchpad (Documentation, Starter, Charts, Namespaces)

  • Hosted LOH #17 as a continuity session on chart development and LOH #18 on Fedora CoreOS
  • Released Polygon Namespace :tada:
  • Many releases across the board
    • Namespaces with releases on Monitoring, Postgres Operator, Sealed Secrets, Storage, Ingress, Graph, Ethereum, Celo, Gnosis, and Arbitrum
    • Charts with releases on Subgraph-radio, Erigon, Nimbus, Graph Node, Arbitrum Nitro, and along with polygon namespace release we overhauled Heimdall chart and brought it back to an updated and supported state
    • Some small fixes in charts (graph-node and subgraph-radio), and some noteworthy functionalities on the graph-node one: options to use a Deployment for query nodes, dashboard improvements, more flexibility in configuring some parameters such as gracePeriod per node group, etc.
Launchpad Development Activity
  • Launchpad Charts pull requests merged:
    • Dependency Updates:
    • Enhancements and Fixes:
      • PR #301: Introduces a new chart for subgraph availability oracle.
      • PR #302: Updates to the dashboard and additional cleanup.
      • PR #296, PR #288, PR #290: Improvements and options for graph-node including better namespace template, deploying query nodes as Deployments, and updated dashboards.
      • PR #294: Fixes subgraph-radio to not define empty environment variables.
      • PR #297: Release update for graph-node.
  • Launchpad Namespaces pull requests merged:
    • Dependency updates across various ecosystems, showing a robust and committed effort to maintain up-to-date and secure dependencies:
      • Monitoring dependencies, including the kube-prometheus-stack and promtail, were updated across several PRs (PR #725, PR #716, PR #714, PR #690, PR #685, PR #683, PR #680, PR #663, PR #658, PR #654, PR #649, PR #648, PR #647).
      • The erigon, nimbus, and proxyd dependencies were consistently updated across the Ethereum, Polygon, Gnosis, and related networks demonstrating a broad focus on blockchain technology infrastructure resilience and performance improvements (PR #724, PR #722, PR #721, … PR #651).
      • Graph dependencies updates, ensuring that the subgraph radio and graph-node components are at their latest, most stable releases (PR #704, PR #700, PR #692, PR #689, … PR #646).
      • Updates to dependencies across assorted blockchain networks such as Arbitrum, Polygon, Gnosis, and Celo, highlighting an ongoing commitment to cross-chain compatibility and optimization (PR #723, PR #718, PR #717, … PR #645).
    • Feature enhancements and crucial infrastructural improvements:
      • Addition of new indexer network subgraphs, showcasing innovative development designed to enhance network interactions and data processing capabilities (PR #670).

Network Operations (Graph Network Subgraph, Graph Network Substreams)

Ecosystem Relations

:rocket: Looking Ahead (upcoming priorities)

  • Graphcast SDK & Subgraph Radio
    • Add more networks to the supported networks list as chains go live on the network
    • Investigate leftover memory issues reported by heaptrack
    • Fix linker issues in GitHub CI pipeline
  • GraphSeer
    • Complete frontend refactors
    • Continue addressing user feedback
    • Add comparative averages and percentiles for Indexer, Subgraph Deployment and Quality of Service data
  • Launchpad
    • Firehose support, initially targeting support on Ethereum and Ethereum based chains
  • Network Operations
    • Improve monitoring and alerting for network subgraphs
    • Work on releasing QoS Oracle V2 MVP
  • Ecosystem Relations
    • Please join the community for Indexer Office Hours on Tuesday every week at 6pm UTC in the Graph Protocol Discord
    • Please join the community for Launchpad Office Hours on Wednesday every second week at 5pm UTC in the Graph Protocol Discord