Describe DraftJsocDevelopersGuide here.

Tim, this one's for you.

Welcome to the Wiki for JSOC software development

For general information including the basic setup to get started see the Users Guide.

News

DRMS Data Series

named series and its current highest record number on stdout.

JSOC Sessions, Pipelines, and Modules (''Oh my!'')

JSOC programs that use DRMS to operate on DataSeries are called "modules". Modules are run in "sessions". HMI and AIA major processing tasks are accomplished in "pipelines" consisting of one or more sessions. Pipelines are started by "PUI" (Pipeline User Interface) usually by the JSOC production team. Pipelines may also be initiated by users requesting DataSets via the web or by team members running locally or remotely. A DataSet is a collection of records selected by a query. In essence a dataset name is simply the query that describes it.

A DRMS Session is the basic unit of computing that interracts with DRMS and SUMS. At the start of a session the user connects to the DRMS database. During the session the user runs one or more modules which read or create DataRecords in DataSeries. Access to the actual data stored in SUMS is accomplished within a module via the DRMS API. At the end of a session, SUMS is notified to save any new records online and/or on tape, or to delete records marked temporary to the session.

Actually using the JSOC DRMS requires running a program or module. By "program" we mean a normal shell command and by "module" we mean a program built to run within a DRMS session and communication to a drms_server. There are four types of programs/modules:

The benefit of running programs as "modules" will hopefully become apparent when we start running complex pipelines using hundreds of processors.

Setting up Your Own DRMS

Information for developers outside the JSOC who wish to construct an independent data archive that can work in cooperation with the JSOC and other archives (or completely independently) can be found on the Setting up Your Own DRMS page.

General Information

DRMS Man Pages

All the JSOC "man" pages are now maintained with doxygen, a semi-automatic documentation tool. They are available in html form via:

All programs and functions should have entries in the doxygen generated pages but some do not yet. Old documentation still exists for these:

Note that all modules built with jsoc_main share a basic set of flags and command line keywords. See module.1 in man1.

We will once again soon have unix-style man pages at man1, but not yet:

Limits

There are limits ...

Log Files - Processing meta-data

There are log files. Stdout and Stderr are captured in files as well as shown during processing (depending on module and -v flag). These are all put into a SUMS directory and indexed in DRMS by session ID. The session ID is stored in each record so the log files can be retrieved if/when needed. Unless otherwise specified, the default retention time for log files is the maximum retention time of all SUs processed in the current session. The log files are archived if any one of the SUs in the current session is to be archived.

Software Development - Building Modules

JSOC Software Tree

Making a JSOC/DRMS Module

Making a JSOC/DRMS Library

Notes on JSOC Makefile

Development Notes (old)

Database Administration

JSOC Backup and Restore

SUM API

JSOC Development Projects

DSDS-Data Access from JSOC

Exports

Remote DRMS/SUMS - netDRMS

JSOC Operator's Guide

Running Datacapture and lev0 Pipeline during SDI I&T

Convert the Spare dcs2 machine to an active AIA (dcs0) or HMI (dcs1)

JsocWiki: DraftJsocDevelopersGuide (last edited 2013-05-01 04:35:26 by localhost)