Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-52573

create the libdeps graph collection service



    • Type: New Feature
    • Status: Backlog
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:


      From the document: 

      The graph collection service is a web service to which new instances of graph data can be pushed and persisted. A permanent instance of the collection service will be maintained, such that an evergreen task can send new graph instances to it for every commit. The collection service will then be able to answer queries about the state of the graph at any given time.


      The graph collection service will also serve an instance of the visualization tools that are pointed at its stored data, allowing visualization of the state of the graph at any given time, or over time.


      The command line tools, when pointed at the graph collection service, will gain the ability to answer temporal queries, such as:

      • Over what range of commits does node X exist?
      • In what commits did the node or edge count increase or decrease?
      • By how much did a given commit change the node or edge counts?
      • In what commit did node X first become dependent on node Y?
      • In what commit did node X cease to be dependent on node Y?
      • Provide a time series representation of the node or edge counts over a given range.


      The graph collection service should be implemented in Python and will presumably use MongoDB for its data storage, unless another data store is called for due to friction between the graph-y nature of the data and MongoDB’s capabilities.


      The graph collection service code should be committed to the server repository so that it is easy to run a local instance.

      This ticket is for writing the basic implementation of such a service and committing that service into the repo. The scope of this ticket assumes the service can be started, data can be pushed to it and persisted, and the basic query is functional and answers through a web interface (REST?): 

      • Over what range of commits does node X exist?

      The format the data stored in the database should be conducive to further more advanced queries.


          Issue Links



              backlog-server-devplatform Backlog - Server Development Platform Team (SDP)
              daniel.moody Daniel Moody
              0 Vote for this issue
              1 Start watching this issue