Hi,

I have submitted the GSoC Proposal 2015 under the title of "Visualizing
CouchDB Cluster with Utilization Details on a Dashboard", including the
last minute revisions I made with the feedback from Robert and Alexander on
heat maps & concurrent requests.

My gratitude goes to the active Community of CouchDB, specially Alexander
Shorin, Robert Kowalski, James Mutton, Robert Newson  and Sebastian
Rothbucher  for your valuable ideas and feedback.

I hope to write few blog posts on the current tasks I'm doing with regard
to this project and share with you all.

On Fri, Mar 27, 2015 at 7:13 PM, Robert Kowalski <r...@kowalski.gd> wrote:

> yes thank you!
>
> On Fri, Mar 27, 2015 at 7:02 AM, madhuka udantha
> <madhukaudan...@gmail.com> wrote:
> > Hi,
> >
> > I'm sharing a sample mxn Matrix Graph[1] so you all can get an idea of
> what
> > my proposed solution is. This can represent high number of nodes with out
> > any issue and  at a glance you can get the Summarized View of the
> Cluster.
> > Accordingly my mxn Matrix would represent nodes in the Cluster.
> > (Mockup UIs are attached to JIRA)
> >
> > Does this clarify the issue Robert?
> >
> > Your feedback / ideas mostly welcomed.
> >
> > [1] http://bost.ocks.org/mike/miserables/
> >
> > On Wed, Mar 25, 2015 at 11:46 PM, madhuka udantha <
> madhukaudan...@gmail.com>
> > wrote:
> >>
> >> Hi,
> >>
> >> Sharing mockups UIs again, Since some ML-Users do not have account in
> >> box.com.
> >> I am sharing them via jira.
> >>
> >> On Wed, Mar 25, 2015 at 12:20 AM, madhuka udantha
> >> <madhukaudan...@gmail.com> wrote:
> >>>
> >>> Hi,
> >>>
> >>> After communicating with couchdb community got to know that  there can
> be
> >>> 100~ 10000 nodes in cluster. So there will 2 layouts in cluster link
> >>> depending on node count in cluster.
> >>>
> >>> My first UI is for simple count of node in cluster (4 nodes in cluster)
> >>>
> >>> Here is mock UIs where it hit more than 5 to 100000 nodes, I am using
> >>> matrix visual.
> >>> Here is initial look of the page. [Page1v1-initial-page]
> >>> https://app.box.com/s/sn84u6wuzya58trssw11ba6fwtmn862f
> >>
> >>
> >>
> https://issues.apache.org/jira/secure/attachment/12707205/Page1v1-initial-page.png
> >>
> >>>
> >>> Features:
> >>> 1. User can select the attribute eg: Disk usage, http status, data
> usage,
> >>> alerts. etc.
> >>> 2. Chart / matrix will be draw with legend
> >>>
> >>> [Page2v1-searching-node]
> >>> https://app.box.com/s/i5uomdhirn96co6acbbrvvviifyw95pb
> >>
> >>
> >>
> https://issues.apache.org/jira/secure/attachment/12707218/Page2v1-searching-node.png
> >>
> >>>
> >>> Who can we search node in there?
> >>> You will have search in top of it. (it allow to search the node), It
> will
> >>> show it with red color box.
> >>> Or every node have tool tip to verify node, what is you look for.
> >>>
> >>>
> >>> [Page3v1-selecting-node]
> >>> https://app.box.com/s/rsd5ysld597gvra2nkcn7027bpok37jc
> >>
> >>
> >>
> https://issues.apache.org/jira/secure/attachment/12707219/Page3v1-selecting-node.png
> >>
> >>>
> >>> When user click on node, node panel will be open RHS.
> >>> It have all the details of the node and operation that you can perform
> in
> >>> node leve
> >>>
> >>> [Page4v1-searching-db_in_node]
> >>> https://app.box.com/s/jk3ojb0khj192ldnyw0eqs1p5t7l485r
> >>
> >>
> >>
> https://issues.apache.org/jira/secure/attachment/12707220/Page4v1-searching-db_in_node.png
> >>
> >>>
> >>> User can search Databases in nodes even
> >>> This searching have advance search query support
> >>>
> >>> [Page5v1-db_view]
> >>> https://app.box.com/s/20hjgtcb7c9ikgfdn7xy8xli4uhorbni
> >>
> >>
> >>
> https://issues.apache.org/jira/secure/attachment/12707206/Page5v1-db_view.png
> >>
> >>> User can select the database and it will show database details.
> >>>
> >>>
> >>>  feed backs for UIs are welcome.
> >>>
> >>>
> >>> On Tue, Mar 24, 2015 at 4:35 PM, madhuka udantha
> >>> <madhukaudan...@gmail.com> wrote:
> >>>>
> >>>> Hi James,
> >>>>
> >>>> Thanks for you feedback. It will help me to improve my proposal and to
> >>>> get better understanding about couchdb cluster
> >>>>
> >>>> Since I am new to couchdb and I did not know much user case that you
> all
> >>>> have come across. But when you share those ideas. It is help to
> understand
> >>>> couchdb cluster. All you feedback is important.
> >>>>
> >>>> On Tue, Mar 24, 2015 at 12:07 PM, Mutton, James <jmut...@akamai.com>
> >>>> wrote:
> >>>>>
> >>>>> I can share a few quick thoughts (which I admit is rare, but I happen
> >>>>> to have a few minutes and this hit the top of my stack):
> >>>>>
> >>>>> * How do you envision this overflowing when you have hundreds of
> >>>>> databases within a cluster, or maybe 64 nodes in a cluster.
> >>>>
> >>>> Attached UIs  can only handle very low level nodes (4 to 8) according
> to
> >>>> layout (we can called it expanded layout).  When I am drawing I did
> not
> >>>> thought that level of count of nodes and databases. Therefore I will
> revisit
> >>>> the mockup ui. Here is updated UI
> >>>>
> >>>> Here you can have 1 ~ 1000 node even and each node can contain 100
> >>>> databases.
> >>>> Node are listed and user can pick one of it then it will show it
> details
> >>>> and databases of it in list.
> >>>>
> >>>> UI for Listing node when nodes count is above 8 in cluster (This is
> how
> >>>> it look as it have 64 nodes in cluster)
> >>>> https://app.box.com/s/kqg2kadf0xa1zoym9sme22q5m4wbg8i5
> >>>> [Page10-list-nodes-more-than-8]
> >>>>
> >>>> Features of the UI:
> >>>>
> >>>> Table header support sorting (ascending and descending) by just click
> on
> >>>> it
> >>>> User have searching option to search (node/databases by name)
> >>>> It support advance search query (popup form ui)
> >>>> Notification listed with icon and warning/alert level is shown by
> color
> >>>> of icon
> >>>> User can perform node operation by clicking hyperlink in it's raw
> >>>>
> >>>>
> >>>> Node contains 100 databases (answer)
> >>>> https://app.box.com/s/ggbzr00orkwacsi4cflpvn9d60q7h1st
> >>>> [Page11-list-dbs-in-selected-node]
> >>>>
> >>>>
> >>>>
> >>>> Features of the UI
> >>>>
> >>>> In Database panel contain search that scope to databases of the
> selected
> >>>> node
> >>>> When user select database it will show database summary details and
> >>>> operations that can be perform for that database
> >>>>
> >>>>
> >>>>>
> >>>>> ** On a related note, drag and drop is cool, but level of difficulty
> >>>>> involved in adding a shard from node-1 increases in direct
> proportion to the
> >>>>> number of nodes there are.
> >>>>
> >>>>  Yes, we can add button ( in database/node level
> >>>>
> >>>>>   I think the “Add Database” button on a new server should be labeled
> >>>>> “Add Shard” and should present the option of selecting what shards
> to add.
> >>>>> The add button is also not present on the nodes that have shards
> already so
> >>>>> it would be good to keep it around somehow.
> >>>>
> >>>> Yes,  It will be label as “Add Shard”. It is possible to show only
> that
> >>>> is not shard so far.
> >>>>
> >>>>
> >>>>> * Speaking then of shards… They don’t appear to be captured here.
> How
> >>>>> does one know which shard-set each server has?  Each database has a
> number
> >>>>> of shards that all have multiple shard copies and it is not a
> requirement
> >>>>> that all servers have all shards.  None of that is really
> represented in
> >>>>> these mockups.  When looking at a shard, it would be good to know if
> it is
> >>>>> 00000000-15555554 or aaaaaaa8-bffffffc, or even both.  Knowing this
> and
> >>>>> being able to use it to scale/move hotspots in a cluster is pretty
> important
> >>>>> for operations, once databases hit a significant size.
> >>>>
> >>>> Thanks for pointing out. shards will add for visualization.
> >>>>
> >>>> Can you share resources/documentations which that help to understand
> the
> >>>> couchdb clustering?
> >>>> I like to know what are most important operations regard couch
> >>>> clustering? (that you think good to added in here. since I am new for
> >>>> couchdb and some time I have miss them)
> >>>>
> >>>>
> >>>>>
> >>>>> * I don’t think doc-count and deleted-count is useful information at
> >>>>> the overview page
> >>>>
> >>>> Thanks, We can remove doc count details from overview page. If user
> need
> >>>> to read such details he/she can click 'more' so there it will show
> them.
> >>>>>
> >>>>>
> >>>>>
> >>>>> and runs the risk of requiring a lot of requests to fulfill (see
> point
> >>>>> 1 on hundreds of databases).
> >>>>
> >>>> Sorry, In here I did not get your point
> >>>>
> >>>>> * What does compact: false mean?  That the database is not small? or
> >>>>> that it’s not actively compacting?  And if the latter, wouldn’t that
> be on a
> >>>>> db-shard basis, not a whole server.
> >>>>
> >>>> compact running is mapping to 'compact_running'[2]
> >>>>
> >>>> [1] https://wiki.apache.org/couchdb/Compaction
> >>>>
> >>>>>
> >>>>> * It would be nice if cluster usage graphing page would show
> http-stats
> >>>>> as well.  Would give people a snapshot indication of where their
> load is
> >>>>> hot.
> >>>>
> >>>> Sure, Different status codes will be notify on cluster usage graph.
> >>>> (Mockups UI will shared tonight)
> >>>>
> >>>> Thanks JamesM for your feed backs
> >>>>>
> >>>>>
> >>>>> </JamesM>
> >>>>>
> >>>>>
> >>>>> On Mar 23, 2015, at 20:32, madhuka udantha <madhukaudan...@gmail.com
> >
> >>>>> wrote:
> >>>>>
> >>>>> > Hi All,
> >>>>> >
> >>>>> > are there any ideas and feedback for above mockup UIs?
> >>>>> >
> >>>>> > Community feedback will be useful in here. :)
> >>>>> >
> >>>>> > On Sun, Mar 22, 2015 at 11:51 PM, madhuka udantha
> >>>>> > <madhukaudan...@gmail.com>
> >>>>> > wrote:
> >>>>> >
> >>>>> >> Hi,
> >>>>> >>
> >>>>> >> Here are the mockup UIs for Visualizing the CouchDB Clusters. It
> is
> >>>>> >> just
> >>>>> >> the initial UIs.
> >>>>> >>
> >>>>> >> * Page 1-cluster.png* [
> >>>>> >> https://app.box.com/s/isjbfop69j2cmz0kg0qar7l5nmupjnfl
> >>>>> >>
> >>>>> >> This Page visualize nodes in the clusters with summary information
> >>>>> >> for
> >>>>> >> each node. (Name, Memory usage..etc..) with a nice web UI
> interface.
> >>>>> >> It is
> >>>>> >> interactive (drag and drop supporting over nodes)
> >>>>> >>
> >>>>> >> *Page 2-cluster-notification-tip.png [*
> >>>>> >> https://app.box.com/s/euc5megmx5lwseqib4511309ocoypryb
> >>>>> >> <https://app.box.com/s/euc5megmx5lwseqib4511309ocoypryb>]
> >>>>> >>
> >>>>> >> Top of each panel of the nodes it contains a notification icon if
> >>>>> >> there is
> >>>>> >> notification.
> >>>>> >> eg: Memory/disk space availability, Error in node etc...
> >>>>> >> Notification will have a simple drop down structure as it is
> >>>>> >> showing.
> >>>>> >>
> >>>>> >> *Page 3-cluster-warning.png* [
> >>>>> >> https://app.box.com/s/f2ljwxvz2w01f8uepsj4zyarhwbpiz8b]
> >>>>> >>
> >>>>> >> Critical level alert is showen. (Alert level can be set in config
> >>>>> >> and
> >>>>> >> notification center)
> >>>>> >>
> >>>>> >> *Page 4-adding-new-node.png* [
> >>>>> >> https://app.box.com/s/noygbeyze792bh4t93iaoxywdciau057]
> >>>>> >>
> >>>>> >> By clicking "add new node" you can add new nodes for clusters. UI
> >>>>> >> Consistency is maintained
> >>>>> >>
> >>>>> >> *Page 5-adding-new-node-by-drag-drop.png*[
> >>>>> >> https://app.box.com/s/gbfsbwb6zt1jdkijve72mnullplecpj7]
> >>>>> >>
> >>>>> >> User interface is supported for drag-drop of databases in nodes.
> >>>>> >> (replication operation in the BE)
> >>>>> >>
> >>>>> >> *Page 6-selected-db-in-node.png*[
> >>>>> >> https://app.box.com/s/6ojrvpxuvmo9k18dlnf8i4nmibzdx5s9]
> >>>>> >> Each node shows the databases in it. By Clicking on database you
> can
> >>>>> >> see
> >>>>> >> detailed view of a particular database. This allows users to
> >>>>> >> understand
> >>>>> >> memory/data/doc distribution over DBs in particular nodes.
> >>>>> >>
> >>>>> >> *Page 7-custer-mgt-center.png* [
> >>>>> >> https://app.box.com/s/t9s42g3gwvv6bocbdsxrgjimdrh2ty0z]
> >>>>> >> Each node is shown with disk usage under icon and summary text of
> >>>>> >> the node
> >>>>> >> is also given. It is easy to identify the disk space - free
> >>>>> >> availability. (In here we need some BE services help)
> >>>>> >>
> >>>>> >>
> >>>>> >> *Page 8-custer-mgt-center-infor.png* [
> >>>>> >> https://app.box.com/s/vvo4v9ji79l8japo3nm9f4lfbjhdamkc]
> >>>>> >> User can customize notifications for each nodes by level (warning,
> >>>>> >> infor,
> >>>>> >> etc..)
> >>>>> >>
> >>>>> >> *Page 9-charting-disk-usages.png*[
> >>>>> >> https://app.box.com/s/fk7eyoyrtg8d3b29xoo0mdho9rr8cmyz]
> >>>>> >> Cluster usage of the system is shown as a bar chart and the
> >>>>> >> attributes to
> >>>>> >> be shown can be selected according to user's preferences.
> >>>>> >>
> >>>>> >> You ideas are welcome in here.
> >>>>> >> Thanks
> >>>>> >>
> >>>>> >> On Sun, Mar 22, 2015 at 7:34 PM, madhuka udantha
> >>>>> >> <madhukaudan...@gmail.com
> >>>>> >>> wrote:
> >>>>> >>
> >>>>> >>> Hi All,
> >>>>> >>>
> >>>>> >>> As I'm drafting my proposal for GSoC 2015 I went through some of
> >>>>> >>> the
> >>>>> >>> existing Cluster Management Systems with Visualization. I
> >>>>> >>> recognized some
> >>>>> >>> of the features regarding to Cluster Management HTTP API. (Some
> >>>>> >>> times not
> >>>>> >>> fully documented yet)
> >>>>> >>>     Such us partitioning, re-balance..etc.
> >>>>> >>> I was unable to find them on CouchDB API Documentation(only at
> the
> >>>>> >>> implemented level but not documented yet? ) but I was able to
> find
> >>>>> >>> some of
> >>>>> >>> the features such as adding nodes to clusters through dev-mailing
> >>>>> >>> list.
> >>>>> >>> Are some of these features regarding cluster management present
> on
> >>>>> >>> the
> >>>>> >>> API. If so where can I find the relevant
> documentations/resources?
> >>>>> >>> Even
> >>>>> >>> the source code is fine to me.
> >>>>> >>>
> >>>>> >>>
> >>>>> >>> Since I was able to clearly identify those missing features can I
> >>>>> >>> start a
> >>>>> >>> discussion on a thread on the best feature list for cluster
> >>>>> >>> management on
> >>>>> >>> CouchDB to be added to it on a future release.
> >>>>> >>> My current project could also include these features that are
> >>>>> >>> supported
> >>>>> >>> by the API else I could help on including them.
> >>>>> >>>
> >>>>> >>> [1] http://guide.couchdb.org/draft/clustering.html
> >>>>> >>> Thanks.
> >>>>> >>> BR,
> >>>>> >>>
> >>>>> >>> On Sat, Mar 21, 2015 at 11:40 AM, madhuka udantha <
> >>>>> >>> madhukaudan...@gmail.com> wrote:
> >>>>> >>>
> >>>>> >>>>
> >>>>> >>>>
> >>>>> >>>> On Sat, Mar 21, 2015 at 12:17 AM, Alexander Shorin
> >>>>> >>>> <kxe...@gmail.com>
> >>>>> >>>> wrote:
> >>>>> >>>>
> >>>>> >>>>> On Fri, Mar 20, 2015 at 9:28 PM, madhuka udantha
> >>>>> >>>>> <madhukaudan...@gmail.com> wrote:
> >>>>> >>>>>> I like to know what is *different of '_nodes' and 'node'*?
> >>>>> >>>>>>
> >>>>> >>>>>> http://localhost:15986/nodes
> >>>>> >>>>>> -->{"db_name":"nodes","doc_count":3..}
> >>>>> >>>>>> http://localhost:25986/nodes
> >>>>> >>>>>> -->{"db_name":"nodes","doc_count":1..}
> >>>>> >>>>>> http://localhost:35986/nodes
> >>>>> >>>>> -->{"error":"not_found","reason":"no_db_file"}
> >>>>> >>>>>
> >>>>> >>>>> Where did you get these nodes?
> >>>>> >>>>>
> >>>>> >>>> By '~/test/1/couchdb $ dev/run -n 4' I can added 4 nodes.
> (default
> >>>>> >>>> it is
> >>>>> >>>> 3 nodes)
> >>>>> >>>>
> >>>>> >>>> Here is my console print, Yes now I have four node running.
> >>>>> >>>>
> >>>>> >>>> *max@max-VirtualBox ~/test/1/couchdb $ dev/run -n 4*
> >>>>> >>>> *Setup environment... ok*
> >>>>> >>>> *Ensure CouchDB is built... ok*
> >>>>> >>>> *Prepare configuration files... ok*
> >>>>> >>>> *Start node node1... ok*
> >>>>> >>>> *Start node node2... ok*
> >>>>> >>>> *Start node node3... ok*
> >>>>> >>>> *Start node node4... ok*
> >>>>> >>>> *Ensure all nodes are run... ok*
> >>>>> >>>> *Join nodes into cluster... ok*
> >>>>> >>>> *Developers cluster is set up at http://127.0.0.1:15984
> >>>>> >>>> <http://127.0.0.1:15984>. Time to hack!... *
> >>>>> >>>>
> >>>>> >>>> Each above nodes are running in localhost in port 15986, 25986,
> >>>>> >>>> 35986
> >>>>> >>>> and 45986
> >>>>> >>>>
> >>>>> >>>> It seems docs are mainly in 15986 (node1) shown by 'doc_count'
> >>>>> >>>> value,
> >>>>> >>>> is there any reason for that or is it happening randomly?
> >>>>> >>>>
> >>>>> >>>>
> >>>>> >>>>
> >>>>> >>>>
> >>>>> >>>>>
> >>>>> >>>>> --
> >>>>> >>>>> ,,,^..^,,,
> >>>>> >>>>>
> >>>>> >>>>
> >>>>> >>>>
> >>>>> >>>>
> >>>>> >>>> --
> >>>>> >>>> Cheers,
> >>>>> >>>> Madhuka Udantha
> >>>>> >>>> http://madhukaudantha.blogspot.com
> >>>>> >>>>
> >>>>> >>>
> >>>>> >>>
> >>>>> >>>
> >>>>> >>> --
> >>>>> >>> Cheers,
> >>>>> >>> Madhuka Udantha
> >>>>> >>> http://madhukaudantha.blogspot.com
> >>>>> >>>
> >>>>> >>
> >>>>> >>
> >>>>> >>
> >>>>> >> --
> >>>>> >> Cheers,
> >>>>> >> Madhuka Udantha
> >>>>> >> http://madhukaudantha.blogspot.com
> >>>>> >>
> >>>>> >
> >>>>> >
> >>>>> >
> >>>>> > --
> >>>>> > Cheers,
> >>>>> > Madhuka Udantha
> >>>>> > http://madhukaudantha.blogspot.com
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Cheers,
> >>>> Madhuka Udantha
> >>>> http://madhukaudantha.blogspot.com
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> Cheers,
> >>> Madhuka Udantha
> >>> http://madhukaudantha.blogspot.com
> >>
> >>
> >>
> >>
> >> --
> >> Cheers,
> >> Madhuka Udantha
> >> http://madhukaudantha.blogspot.com
> >
> >
> >
> >
> > --
> > Cheers,
> > Madhuka Udantha
> > http://madhukaudantha.blogspot.com
>



-- 
Cheers,
Madhuka Udantha
http://madhukaudantha.blogspot.com

Reply via email to