Presentation is loading. Please wait.

Presentation is loading. Please wait.

Web100 Userland Status and future August 2, 2002 John Estabrook.

Similar presentations


Presentation on theme: "Web100 Userland Status and future August 2, 2002 John Estabrook."— Presentation transcript:

1 Web100 Userland Status and future August 2, 2002 John Estabrook

2 8.2.2002www.web100.org 2 TOC Design constraints of the Web100 library Analysis of a simple Web100 program Changes to Userland since Alpha 1.1 Future directions

3 8.2.2002www.web100.org 3 Design constraints of the Web100 library Kernel API constraints: Proc interface and behavior of CID entries Previously, CID subdirectories would persist for 30 seconds after close of connection New connections could immediately re-use CIDs Recent modifications to ref-count CID fds

4 8.2.2002www.web100.org 4 …constraints Problem space constraints 3 dimensions of space, 1 of time: Agent Group Connection 1 of time

5 8.2.2002www.web100.org 5 Agent Agent: roughly, think of host Previously, there was one defined Agent type: WEB100_AGENT_TYPE_LOCAL One imagined future extensions, say, WEB100_AGENT_TYPE_REMOTE

6 8.2.2002www.web100.org 6 Agent More precisely, an Agent is (tantamount to) the pertinent header file (/proc/web100/header) As such, the notion of Agent accommodates different kernel versions; live vs. logged data; local vs. remote The addition of logging functionality (since Alpha 1.1) has introduced WEB100_AGENT_TYPE_LOG

7 8.2.2002www.web100.org 7 Group A Group is a collection of Web100 vars As defined in the header file (e.g. Spec, Read, Tune, Test, etc.) A Group of vars is read atomically at the kernel level The exists a fundamental tension between the plurality of Groups and the size of Groups (= number of vars)

8 8.2.2002www.web100.org 8 Connection Self-explanatory The definition of the Connection structure, and its use, has direct dependence on kernel API (/proc interface) Connections are inherently ephemeral (refresh_connections anyone?)

9 8.2.2002www.web100.org 9 Constraints conclusion The triumvirate of Agent/Group/Connection appears to be correct, and has not fundamentally changed since pre-Alpha

10 8.2.2002www.web100.org 10 Analysis of a simple Web100 program Web100 API Yoga: (live, local connection) agent = agent_attach(TYPE_LOCAL, info); group = web100_group_find(agent, groupname); conn = connection_find(agent, IP|CID); snap = snapshot_alloc(group, conn); snap(snap); … var = var_find(group, name); snap_read(var, snap, …); | delta_any(); snapshot_free(snap);

11 8.2.2002www.web100.org 11 Changes to Userland since Alpha 1.1 Done: Under-the-hood matters (of course) Logging functionality CID discovery Current & future…

12 8.2.2002www.web100.org 12 Logging An early request/requirement Original design suggested implicit logging (single flag on/off; log file defined by ENV variable); hooks were in place in Alpha 1.1 Later use (e.g. Pathprobe) required explicit logging, now in place.

13 8.2.2002www.web100.org 13 Log read, analogous to live read: Web100 API LOG Yoga: agent = agent_attach(TYPE_LOG, info); group = web100_get_log_group(log); [conn = connection_find(agent, IP|CID);] snap = snapshot_alloc_from_log(log); snap_from_log(snap, log); var = var_find(group, name); snap_read(var, snap, …); | delta_any(); snapshot_free(snap);

14 8.2.2002www.web100.org 14 Log write: Involves 3 basic functions (self- explanatory) web100_log* web100_log_open_write(char *logname, web100_connection *conn, web100_group *group); int web100_log_write(web100_log *log, web100_snapshot *snap); int web100_log_close_write(web100_log *log);

15 8.2.2002www.web100.org 15 CID discovery Another early request/requirement Gui version available in 1.1 via sockdata.c (via DTB menu) Sockdata.c, like ps, netstat, sockstat, wanders through /proc, collating fd info (PID/UID/Cmdline), socket info, CIDs Rationalized in lib as connection_info

16 8.2.2002www.web100.org 16 …CID discovery Issues for discussion: Pubicly exposed struct, so as to allow hints (akin to getaddrinfo); i.e., allow users to search based on given UID, or Cmdline, or Port # Pros/Cons

17 8.2.2002www.web100.org 17 Changes to Userland since Alpha 1.1; CURRENT IPv6 support Up to GTK2 Subtleties (under-the-hood) Compatibility issues

18 8.2.2002www.web100.org 18 Changes to Userland since Alpha 1.1; Future Gui reps for Pathprobe Gui reps for log/playback function Resolution/rationalization of under-the- hood matters (almost done, 8/1/02) Demo versions of everything (skins )

19 8.2.2002www.web100.org 19 Future, long term: Blue Sky


Download ppt "Web100 Userland Status and future August 2, 2002 John Estabrook."

Similar presentations


Ads by Google